我有一个这样的数据框:
id no age
1 1 7 23
2 1 2 23
3 2 1 25
4 2 4 25
5 3 6 23
6 3 1 23
Run Code Online (Sandbox Code Playgroud)
我希望将日期框架汇总id
到这样的形式:(只需将no
它们共享,如果它们共享相同id
,但保留age
在那里)
id no age
1 1 9 23
2 2 5 25
3 3 7 23
Run Code Online (Sandbox Code Playgroud)
如何使用R来实现这一目标?
Did*_*rts 18
假设您的数据框已命名df
.
aggregate(no~id+age, df, sum)
# id age no
# 1 1 23 9
# 2 3 23 7
# 3 2 25 5
Run Code Online (Sandbox Code Playgroud)
更好的是data.table
:
library(data.table)
# convert your object to a data.table (by reference) to unlock data.table syntax
setDT(DF)
DF[ , .(sum_no = sum(no), unq_age = unique(age)), by = id]
Run Code Online (Sandbox Code Playgroud)