我正在尝试使用 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 | 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()
我也尝试过用 summarise() 代替 mutate(); 两者似乎都忽略了我的 group_by 命令,只是给了我数据的总数。
非常感谢!