0

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

我该怎么做呢?

4

3 回答 3

3

您可以使用aggregate

> aggregate(Score/5 ~ User, df, sum)
  User Score
1    A   4.6
2    B   3.2
3    C   3.4
于 2013-07-03T14:14:42.203 回答
2

我平原 R 你可以使用这个:

aggregate(df$Score, by=list(User=df$User), function(x)sum(x)/5)
于 2013-07-03T15:25:10.920 回答
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
于 2013-07-03T14:53:31.960 回答