我有一个很大的数据框,我用它来运行:
dcast(mydata, People ~ Categories, value.var = "Answer Count", **sum**)这就是结果:
People category1 category2
Marge 3,648 6,402
Homer 3,586 6,684
Bart 3,469 7,119
Lisa 4,045 6,758
Maggie 2,847 5,748此外,还有以下内容:
dcast(mydata, People ~ Categories, value.var = "Answer Count", **length**)这样做:
People category1 category2
Marge 2,531 4,516
Homer 2,535 4,512
Bart 2,542 4,563
Lisa 2,501 4,488
Maggie 2,517 4,513实际上,我想这样做:
dcast(mydata, People ~ Categories, value.var = "Answer Count", **sum / length / 6**)并获取以下值:
People category1 category2
Marge 0.240221256 0.236271036
Homer 0.235765943 0.246897163
Bart 0.227445581 0.260026298
Lisa 0.269558843 0.250965538
Maggie 0.188518077 0.212275648我尝试过将fun.aggregate作为参数来操作,但是我不确定这是不是正确的路径,或者我不知道我在做什么。有人能帮我拿一下这个吗?(旁注:此示例有两个类别。实际数据大于40。)
发布于 2017-01-18 00:20:51
我们可以在fun.aggregate中使用匿名函数调用
library(reshape2)
dcast(mydata, People ~ Categories,
value.var = "Answer Count", fun.aggregate = function(x) sum(x)/length(x))https://stackoverflow.com/questions/41701999
复制相似问题