R按ID号对所有列进行条件求和[重复]

i5desfxk  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(100)

此问题在此处已有答案

Aggregate / summarize multiple variables per group (e.g. sum, mean)(10个答案)
5年前关闭。
我在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,我想添加所有单独的列,这样每个学生只有一行与他/她关联。

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)
wnavrhmk

wnavrhmk1#

您可以使用以下命令:

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

相关问题