簡體   English   中英

根據r中數字列表的順序按升序對字符列表進行排序

[英]Sort character list in ascending order based on order of numerical list in r

我想根據另一個列表上的順序/排列結果來排列帶有字符的列表。 例如,給定一個列表char和一個值(數字)列表mini ,我可以得到排序的char列表:

sorted<-mapply(function(x, y) y[x], lapply(mini, order), char)

我想使用將基於min列表升序對char列表進行排序的安排/順序

當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"

嘗試這個:

Map(function(x, y) y[order(x, y)], mini, char)
lapply( names(char), function(nm) char[[nm]][order(mini[[nm]], char[[nm]])])
#------
[[1]]
[1] "aa" "cc" "dd" "ff"

[[2]]
[1] "aa" "ee" "rr" "tt"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM