我们可以使用
bind_rows()
和变化
Gender
到
"All"
首先,然后按分组
Country
和
性别
以下为:
library(dplyr)
df %>%
mutate(Gender = "All") %>%
bind_rows(., df) %>%
group_by(Country, Gender) %>%
summarise(n = n(),
meanVar = mean(var))
#> # A tibble: 6 Ã 4
#> # Groups: Country [2]
#> Country Gender n meanVar
#> <chr> <chr> <int> <dbl>
#> 1 Bangladesh All 3 3.7
#> 2 Bangladesh F 1 2.5
#> 3 Bangladesh M 2 4.3
#> 4 US All 3 2.63
#> 5 US F 2 2.2
#> 6 US M 1 3.5
来自OP的数据
df <- tribble(
~Country, ~Gender, ~var,
"Bangladesh", "F", 2.5,
"Bangladesh", "M", 4.5,
"Bangladesh", "M", 4.1,
"US", "F", 1.7,
"US", "F", 2.7,
"US", "M", 3.5,
)
创建于2023-04-02
reprex v2.0.2