2

我正在尝试使用 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 命令,只是给了我数据的总数。

非常感谢!

4

0 回答 0