按值对R中的键,值列表进行排序

时间:2015-06-04 18:24:23

标签: r key-value

给定一个动物列表,称之为m,其中包含

$bob
[1] 3

$ryan
[1] 4

$dan
[1] 1

我怎样才能按数值对这个人进行排序? 基本上我想看到我的代码看起来像这样

m=sort(m,sortbynumber)


$ryan
[1] 4

$bob
[1] 3

$dan
[1] 1

不幸的是,我无法弄清楚这一点。似乎是一个简单的解决方案。

2 个答案:

答案 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