我的数据框如下所示:
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对原子矢量无效
有没有更好的方法去做我想做的事情?
感谢。
答案 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))