给定一个动物列表,称之为m,其中包含
$bob
[1] 3
$ryan
[1] 4
$dan
[1] 1
我怎样才能按数值对这个人进行排序? 基本上我想看到我的代码看起来像这样
m=sort(m,sortbynumber)
$ryan
[1] 4
$bob
[1] 3
$dan
[1] 1
不幸的是,我无法弄清楚这一点。似乎是一个简单的解决方案。
答案 0 :(得分:5)
您可以尝试order
m[order(-unlist(m))]
#$ryan
#[1] 4
#$bob
#[1] 3
#$dan
#[1] 1
或者更有效的选择是使用decreasing=TRUE
的{{1}}参数(来自@ nicola'评论)
order
答案 1 :(得分:1)
这是优化的解决方案
library(hashmap)
a1<-hashmap("hello",1)
a1$insert("hello1",4)
a1$insert("hello2",2)
a1$insert("hello3",3)
sort(a1$data(),decreasing = TRUE)
#OUTPUT
hello1 hello3 hello2 hello
4 3 2 1