sum()按主题dplyr向下列

时间:2017-05-25 14:44:24

标签: r dplyr summarize mutate

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

非常感谢!

0 个答案:

没有答案