问题描述
我有一个数据框,对于每一行,我想提取每行最大值的前5列
DF <- data.frame(a1=c(10,45,100,5000,23,2,56),a2=c(60,20,5,1,3,4,5),a3=c(90,-5,-3,-2),a4=c(900,122,30,40,50,64,-75,-83,-92),a5=c(190,32,80,49,-50,-7,a6=c(30,27,54,84,-37,-23),a7=c(0,39,9,-23))
我尝试使用以下方法
k <- 5
mx <- t(apply(DF,function(x)names(DF)[sort(head(order(x,decreasing=TRUE),k))]))
mx<-as.data.frame(mx)
我能够得到结果,但顺序对所有行都不正确
例如
输入为
**第1行的预期O / P应该是**
a4 a5 a3 a2 a6
或
a4 a5 a3 a6 a2
我的O / P是
如果可能,我希望基于dplyr的解决方案
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)