【发布时间】:2020-01-15 23:02:28
【问题描述】:
假设我有两个列的数据(df)。其中一部分在下面给出。
familyGroup Sex
1 601 2
2 601 1
3 601 2
4 601 1
5 601 1
6 601 2
7 602 2
8 602 1
9 602 2
10 602 1
11 602 1
12 602 1
在性别栏和下。 我想要一个家庭组的男性和女性计数总和,并在两个新列中报告(比如在男性和女性下)
我正在使用来自tidyverse 包的dplyr
用group_by和summary和mutate做了一些试验
我使用dplyr 尝试了以下代码。
但是输出并不像预期的那样。
df %>%
group_by(familyGroup, Sex) %>%
summarise(male = sum(Sex==1), female = sum(Sex == 2)) %>%
select(familyGroup, male, female)
# A tibble: 74 x 3
# Groups: familyGroup [40]
familyGroup male female
<fct> <int> <int>
1 601 3 0
2 601 0 3
3 602 4 0
4 602 0 2
预期的输出如下所示
familyGroup male female
601 3 3
602 4 2
【问题讨论】: