假设我导入了一个csv数据框df
,如下所示:
User Lesson Score
A 1.1 6
A 1.2 8
A 3.1 9
B 1.1 7
B 3.6 9
C 5.3 8
C 6.3 9
我希望按用户对所有分数求和,然后将这些“总和”分数中的每一个除以5。 这样我得到的数据框如下:
User Score
A 4.6
B 3.2
C 3.4
我将如何做到这一点?
答案 0 :(得分:3)
您可以使用aggregate
:
> aggregate(Score/5 ~ User, df, sum)
User Score
1 A 4.6
2 B 3.2
3 C 3.4
答案 1 :(得分:2)
我很简单,你可以用这个:
aggregate(df$Score, by=list(User=df$User), function(x)sum(x)/5)
答案 2 :(得分:0)
来自@Justin的评论尝试:
ddply(Users, .(User), summarise, sum(Score)/5) # I named your df "Users"
# User ..1
# 1 A 4.6
# 2 B 3.2
# 3 C 3.4