我的数据看起来像这样,
X Y Goal
32 12 1
13 42 0
55 33 0
...
我想计算每个 XY 坐标配对总共进了多少球。有什么建议我该怎么做?
这是一个dplyr
解决方案。
# Create data frame
df <- read.table(text = "X Y Goal
32 12 1
13 42 0
55 33 0", header = TRUE)
# Load library
library(dplyr)
# Group by both X & Y, then sum all goals
df %>%
group_by(X, Y) %>%
summarise(Total = sum(Goal, na.rm = TRUE))
#> # A tibble: 3 x 3
#> # Groups: X [3]
#> X Y Total
#> <int> <int> <int>
#> 1 13 42 0
#> 2 32 12 1
#> 3 55 33 0
由reprex 包(v0.2.1)于 2019 年 3 月 15 日创建
使用data.table
:(更好地提供预期的输出)
setDT(df)
df[,lapply(.SD,sum),.(X,Y)][]
X Y Goal
1: 32 12 1
2: 13 42 0
3: 55 33 0