1

我正在对 R 的行求和功能进行故障排除。我有以下称为总计的向量:

 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'

我有点困惑,因为在文档中,“组”是一个向量/因子,它给出了每行 x 一个元素的分组。

任何帮助,将不胜感激。

谢谢!

4

2 回答 2

2

第二个参数需要是第一个参数的组成员身份。

dat <- data.frame(
  value = runif(100),
  group = sample(1:20, 100, replace = T)
)

rowsum(dat$value, dat$group)
于 2014-03-18T18:58:44.023 回答
0

tapply当您想将数据分成组并在各个组中进行相同的计算时,您也可以使用。您可以查看http://www.r-bloggers.com/r-function-of-the-day-tapply/了解更多信息。

于 2014-03-18T18:53:48.847 回答