R-如何对命名的字符向量列表进行排序
我是R的新手,希望了解以下内容: 我的意见:R-如何对命名的字符向量列表进行排序,r,R,我是R的新手,希望了解以下内容: 我的意见: v = list(bob=c("aa", "cc"), cas=c("tt", "ff"), john=c("aa", "bb")) v $bob [1] "aa" "cc" $cas [1] "tt" "ff" $john [1] "aa" "bb" 我想根据其中的字符向量进行排序,这是我想要的输出: sorted_v $john [1] "aa" "bb" $bob [1] "aa" "cc" $cas [1] "t
v = list(bob=c("aa", "cc"), cas=c("tt", "ff"), john=c("aa", "bb"))
v
$bob
[1] "aa" "cc"
$cas
[1] "tt" "ff"
$john
[1] "aa" "bb"
我想根据其中的字符向量进行排序,这是我想要的输出:
sorted_v
$john
[1] "aa" "bb"
$bob
[1] "aa" "cc"
$cas
[1] "tt" "ff"
如何获得排序的_v 我们可以
将列表中的所有元素粘贴在一起,对它们进行排序
并提取它们的名称
sorted_v <- v[names(sort(sapply(v, paste0, collapse = "")))]
sorted_v
#$john
#[1] "aa" "bb"
#$bob
#[1] "aa" "cc"
#$cas
#[1] "tt" "ff"
另外,使用@A5C1D2H2I1M1N2O1R2T1和@ycw的输入,我们可以将其减少到
v[order(sapply(v, toString))]
#$john
#[1] "aa" "bb"
#$bob
#[1] "aa" "cc"
#$cas
#[1] "tt" "ff"
类似于v[order(vapply(v,toString,character(1L))]
也许?不确定您对排序的所有要求……sorted\u v
v[order(sapply(v, toString))]
#$john
#[1] "aa" "bb"
#$bob
#[1] "aa" "cc"
#$cas
#[1] "tt" "ff"