我想为n行添加一个数据帧,这些行按一个变量分组,并按另一个变量降序排列。用一个例子可以很清楚地看出:
d1 <- data.frame(Gender = c("M", "M", "F", "F", "M", "M", "F",
"F"), Age = c(15, 38, 17, 35, 26, 24, 20, 26))
我想为每个性别获取2行,这些行按Age降序排列。所需的输出是:
Gender Age
F 35
F 26
M 38
M 26
我在这里寻找订单,排序和其他解决方案,但找不到适合此问题的解决方案。我感谢您的帮助。
最佳答案
一种使用ddply()
中的plyr
的解决方案
require(plyr)
ddply(d1, "Gender", function(x) head(x[order(x$Age, decreasing = TRUE) , ], 2))
关于r - 用每个组的前n行对数据框进行子集设置,并按变量排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6075661/