我正在尝试通过“ a_sex_dv”进行分组并计算“ preference_over_time”
但是我的输出没有按性别分组
我尝试过
PreferenceOverTimeSex <- all7Wide %>%
group_by('a_sex_dv') %>%
count('preference_over_time')
我将最后一个变量名放在''中,否则r在all7Wide表中找不到变量。
我原来的all7Wide表如下:
ID a_sex_dv preference_over_time .
1 male conservative_conservative_labour
2 female conservative_conservative_labour
3 female conservative_conservative_labour
4 male labour_conservative_labour
5 female labour_conservative_labour
我用上面的代码生成的表是
preference_over_time freq
conservative_conservative_labour 3
labour_conservative_labour 2
我想要的桌子是
sex preference_over_time freq
male conservative_conservative_labour 1
female conservative_conservative_labour 2
male labour_conservative_labour 1
female labour_conservative_labour 1
谢谢
答案 0 :(得分:0)
count
确实为您提供了方便功能,请参见tally
以获取需要首先进行分组的版本。在您的原始代码中,当您调用count
时,它将覆盖上一行的分组。
您需要在count
中指定要计数的列(并且不需要在变量名上加上引号)。您还可以手动分组并根据需要使用tally
library(tidyverse)
all7Wide <- read_table2("ID a_sex_dv preference_over_time
1 male conservative_conservative_labour
2 female conservative_conservative_labour
3 female conservative_conservative_labour
4 male labour_conservative_labour
5 female labour_conservative_labour"
)
all7Wide %>%
count(a_sex_dv, preference_over_time)
#> # A tibble: 4 x 3
#> a_sex_dv preference_over_time n
#> <chr> <chr> <int>
#> 1 female conservative_conservative_labour 2
#> 2 female labour_conservative_labour 1
#> 3 male conservative_conservative_labour 1
#> 4 male labour_conservative_labour 1
all7Wide %>%
group_by(a_sex_dv, preference_over_time) %>%
tally()
#> # A tibble: 4 x 3
#> # Groups: a_sex_dv [2]
#> a_sex_dv preference_over_time n
#> <chr> <chr> <int>
#> 1 female conservative_conservative_labour 2
#> 2 female labour_conservative_labour 1
#> 3 male conservative_conservative_labour 1
#> 4 male labour_conservative_labour 1
由reprex package(v0.2.1)于2019-04-02创建