R按ID号对所有列进行条件求和

时间:2017-05-17 19:23:36

标签: r multiple-columns

我在RStudio(15,000行,300列)中有一个大型数据帧,这是一个烂摊子。看起来有点像这样:

ID Exam1 Exam2 Exam3..... Exam299
1 75 76 99 100
2 25 25 25 25
2 22 20 22 22
2 25 25 20 22
2 20 20 25 23
3 79 88 92 96

对于每个学生ID,我想添加所有单独的列,以便每个学生只有1行与他/她相关联。它应该是这样的:

ID Exam1 Exam2 Exam3 Exam299
1 75 76 99 100
2 92 90 92 92
3 79 88 92 96

我尝试过的所有内容一次只能汇总一列和/或在不加总结的情况下合并条目:

aggregate(ID~Exam1, data=df, c)

1 个答案:

答案 0 :(得分:0)

您可以使用:

df.sum <- aggregate(. ~ ID, data=df, FUN=sum)

您还可以使用data.table库:

require(data.table)
dt <- data.table(df)
dt.sum <- dt[, lapply(.SD, sum), by = ID]

我认为你也可以使用dplyr包,但是没有解决方案。