我在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)
答案 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
包,但是没有解决方案。