返回Sum然后在R中分割一列

时间:2013-07-03 14:10:15

标签: r sum dataframe multiple-columns divide

假设我导入了一个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

我将如何做到这一点?

3 个答案:

答案 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