我正在尝试使用dplyr来汇总一些数据,但无法解决如何对列的一部分求和的问题。通常我会使用tally(),但是在这种情况下我想要将所有的1和0加起来所以tally()是不合适的。
我的数据看起来像这样:
subj | child | child_age | older | younger
1 1 374 0 1
1 2 465 1 0
2 1 573 1 0
2 2 583 1 0
2 3 172 0 1
所以,我想创建一个数据集,为每个subj显示有多少“年龄较大”的孩子以及他们有多少“年轻”孩子。这应该是这样的:
subj | n_child | older | younger
1 2 1 1
2 3 2 1
这是我到目前为止使用的代码:
child_ages <- data %>%
group_by(subj) %>%
mutate(nOlder = sum(older),
nYounger = sum(younger)) %>%
ungroup()
我也尝试用summarize()代替mutate();两者似乎都忽略了我的group_by命令,只是给我数据的总数。
非常感谢!