R,如何按两列计算?

R, how to tally by two columns?

我的数据是这样的,

    X  Y Goal
    32 12 1
    13 42 0
    55 33 0
    ...

我想计算每个 X-Y 坐标对总共进了多少球。有什么建议吗?

这是一个 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 package (v0.2.1)

于 2019-03-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