在聚合函数中排名

时间:2014-05-14 15:40:22

标签: r statistics aggregate

是否可以将aggregate函数中的结果排在一列?

例如,如果我有这个长聚合函数,并希望rank(desc) Survived

aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, FUN=function(x) {sum(x)/length(x)})

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

尝试:

result <- aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, FUN=function(x) {sum(x)/length(x)})
result <- result[order(result$Survived,decreasing=T),]

这将按Survived的降序为您提供结果。

或者,您可以添加排名列:

result      <- aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, FUN=function(x) {sum(x)/length(x)})
result$rank <- rank(result$Survived)
result      <- result[order(result$rank,decreasing=T),]

BTW:您只是计算函数中的均值,因此您可以使用:

aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, mean)