R:循环数据帧求和行值

时间:2016-10-17 16:19:19

标签: r dataframe

我的数据框如下所示:

team playername points
team1 player1     80
team1 player2     40
...
team2 player1     98
...
team20 player1    40

它有3列,球队名称,球员名称以及球员得分的总分数。我想要做的是循环数据框并计算每个团队的总和。因此,在以下示例中,team1的总分数将为120。我之前写了一些测试代码试图获得一些输出:

curTeam = ""
count = 0
for (i in df) {
    if (curTeam == i$Team) {
        count = count + i$points
    } else {
        print (count)
        curTeam = i$Team
        count = i$points
    }
}

我收到以下错误:

  

$ operator对原子矢量无效

有没有更好的方法去做我想做的事情?

感谢。

1 个答案:

答案 0 :(得分:0)

这个怎么样?

df <- read.table(text = "team playername points
team1 player1     80
team1 player2     40
team2 player1     98
team20 player1    40", header = TRUE)

library(tidyr)
library(dplyr)
df %>% group_by(team) %>% summarise(sum(points))