对多个变量R进行分组和求和

时间:2018-09-24 14:46:36

标签: r group-by dplyr sum aggregate

我有一个简单的问题(我认为),但似乎找不到解决方案。我想创建一个新的数据框,将多个变量进行分组和求和。

我的数据:

ID  Test    result  ped adult
AB  a   0   0   1
AB  b   1   0   1
FM  a   1   1   0
FM  c   0   1   0
WD  a   0   0   1
WD  b   1   0   1
WD  c   0   0   1
WD  d   1   0   1
WD  a   0   0   1
WD  a   1   0   1

我想要的输出:

Test    No of ID's test with test performed     No of ID's positive     ped adult
a   3   2   1   1
b   2   2   0   2
c   2   0   0   0
d   1   1   0   1

我曾尝试使用group_by和sum来使用aggregate和dplyr,但是没有成功。

NB:编辑以添加ped和Adult列。我想对阳性测试进行汇总,然后对儿童和成人阳性测试进行汇总。

1 个答案:

答案 0 :(得分:1)

我们可以在R base中使用aggregate

> aggregate(result~Test, data=df1, function(x) c(N = length(x), Sum=sum(x)))
  Test result.N result.Sum
1    a        5          2
2    b        2          2
3    c        2          0
4    d        1          1