我最近开始使用 R 中的 data.table 包。我发现它对于转换和聚合数据非常方便。我想念的一件事是如何转换在多行上定义的数据?我需要先以宽格式重塑 data.frame/table 吗?
假设您有以下数据表:
dt=data.table(group=c("a","a","a","b","b","b"),
subg=c("f1","f2","f3","f1","f2","f3"),
counts=c(3,4,5,8,9,10))
对于每个组,您要计算每个子组的相对频率 (c1/(c1+c2+c3)) 和其他属性作为 c1、c2、c3 的函数(c1、c2、c3 是与 f1 相关的计数, f2 和 f3)。
我可以看到如何以宽格式转换数据表,然后应用转换。有没有办法直接以长格式计算(最好使用数据表)?
一般来说,组和子组可以由多个因素表示。