【发布时间】:2015-02-12 19:29:35
【问题描述】:
我的问题是用 ddply 函数总结一个 data.frame,例如以下。
该功能用于创建具有最高评级和相应公司的新数据框。缺少的是第一个数据帧中的相应 ID。
我尝试调用 ID 变量,但这会导致错误消息。 我对最高评分对应的ID感兴趣。
非常感谢您提前提供的帮助!
dat <- data.frame(ID = c("A11", "A12", "A21","A22","A23","A31"),
company = c("CompA","CompA","CompB","CompB","CompB","CompC"),
rating = c(1,4,2,5,3,4)
)
company ID ratingMax
1 CompA A11 1
2 CompA A12 4
3 CompB A21 2
4 CompB A22 5
5 CompB A23 3
6 CompC A31 4
library(plyr)
ddply(dat, "company", summarise, ratingMax = max(rating))
company ratingMax
1 CompA 4
2 CompB 5
3 CompC 4
ddply(dat, "company", summarise, ratingMax = max(rating), ID = ID)
Error: length(rows) == 1 is not TRUE
【问题讨论】: