-1

我的数据看起来像这样,

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

我想计算每个 XY 坐标配对总共进了多少球。有什么建议我该怎么做?

4

2 回答 2

1

这是一个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 日创建

于 2019-03-15T19:09:54.763 回答
0

使用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
于 2019-03-15T19:12:31.130 回答