【发布时间】:2014-08-27 21:48:35
【问题描述】:
我有一个名为 newdata 的 data.frame,它看起来像:
HospitalName State Rating
CRESTWOOD MEDICAL AL 3
GEORGIANA HOSPITAL AL 7
WEST VALLEY HOSPITAL AZ 5
VERDE VALLEY AZ 6
医院按州排序,然后按等级排序。目前约有 50 个州。
我将 data.frame 拆分为一个列表,其中包含由 State 分隔的 data.frames。
s <-split(newdata,newdata[,2],drop=FALSE)
我有一个函数应该从列表中的各个 data.frames 中获取第 n 行或顶部或底部行。 num 包含行号或文本最好或最差。
rnk<- function(num = "best") {
if(num=="best"){idx<-1}
if(num=="worst"){idx<-nrow(s)}
best_hospital<-data.frame(s[idx,1],s[idx,2])
best_hospital
}
我正在调用lapply() 将上面的函数应用到列表中。
hospitals<- lapply(s, rnk,num=num )
我收到一个错误
FUN(X[[1L]], ...) 中的错误:未使用的参数 (X[[1]])
我要做的就是遍历不同的 data.frames 并获取顶部、底部或第 n 行并合并。我认为我缺少的是如何从函数中引用单个 data.frames。有任何想法吗?
【问题讨论】:
-
rnk函数的第一个参数将是数据框...
标签: r