我想根据顺序/在另一个列表上排列结果来排列一个字符的列表。例如,给定一个list char和值(数字) mini列表,我可以得到排序char列表:
sorted<-mapply(function(x, y) y[x], lapply(mini, order), char)我想使用排列/顺序来根据升序的char列表对min列表进行排序
(当mini中的值相同时,我希望占优势的字母字符)。
有什么建议吗?
编辑:虚拟示例
char <- list(A=c("dd", "aa", "cc", "ff"), B=c("rr", "ee", "tt", "aa"))
mini <- list(A=c(4,2,4,4), B=c(5,5,7,1))
char
$A
"dd" "aa" "cc" "ff" ...
$B
"rr" "ee" "tt" "aa" ...
mini
$A
4 2 4 4 ...
$B
5 5 7 1 ...预期结果:
sorted
$A
"aa" "cc" "dd" "ff"
$B
"aa" "ee" "rr" "tt"发布于 2014-04-27 23:37:35
试试这个:
Map(function(x, y) y[order(x, y)], mini, char)发布于 2014-04-27 23:43:46
lapply( names(char), function(nm) char[[nm]][order(mini[[nm]], char[[nm]])])
#------
[[1]]
[1] "aa" "cc" "dd" "ff"
[[2]]
[1] "aa" "ee" "rr" "tt"https://stackoverflow.com/questions/23330244
复制相似问题