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
我的数据是这样的,
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