我正在排除R的行和功能。我有以下向量名为total:
1 3
1 45
.. ..
20 45
20 46
向量有20个不同的类别,我想总结每个类别的所有值。我的代码是:
rowsum(total[,c(1:20)], group = c(1:20))
但是我收到以下错误:
Error in rowsum.default(total[, c(1:2)], group = c(1:20)) incorrect length for 'group'
我有点困惑,因为在文档中,“group”是一个向量/因子,给每组x分配一个元素。
任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:2)
第二个参数需要是第一个参数的组成员资格。
dat <- data.frame(
value = runif(100),
group = sample(1:20, 100, replace = T)
)
rowsum(dat$value, dat$group)
答案 1 :(得分:0)
如果您希望将数据分组并在各个组中执行相同的计算,也可以使用tapply
。您可以查看http://www.r-bloggers.com/r-function-of-the-day-tapply/以获取更多信息。