我有一个简单的问题(我认为),但似乎找不到解决方案。我想创建一个新的数据框,将多个变量进行分组和求和。
我的数据:
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列。我想对阳性测试进行汇总,然后对儿童和成人阳性测试进行汇总。
答案 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