这可能是一个非常基本的问题...我有一个简单的数据框,每门课程都有不同的观测值。我想让R返回每个课程的行数(在我的情况下等于观测数)。
例如:
DF <- structure(list(age = c(36, 21, 20, 32, 24), course = c("AERO",
"AERO", "CREDIT", "CREDIT", "SOLAR")), .Names = c("age", "course"), class = "data.frame", row.names = c(NA,
-5L))
我希望有类似这样的功能:
nrow(DF, by=course)
.. 可以返回每个课程的行数。我知道 nrow(DF, by=course)
并不存在,但还有其他的方法吗?
我已经使用了子集,但是那样就必须定义每个子集。
as.data.table(DF)[,.N, by = course]
。 - Rich ScrivensetDT
通过引用(而不是复制)将数据框转换为数据表,而as.data.table(DF)
则不是这样。对于大型数据集,复制可能非常昂贵。如果您想在之后使用数据框,请使用相反的函数setDF
,它将通过引用将数据表对象强制转换为数据框。 - lmo