在R中对命名列表进行排序

Posted

技术标签:

【中文标题】在R中对命名列表进行排序【英文标题】:Sort a named list in R 【发布时间】:2015-02-03 09:53:14 【问题描述】:

我有一个术语频率的命名列表,

> list
$`in the`
[1] 67504

$`to the`
[1] 36666

$`of the`
[1] 79665

$`on the`
[1] 31261

$`to be`
[1] 25862

$`for the`
[1] 28332

我想根据频率将它们按降序排列。这个怎么做?我尝试了 sort, sort.list, order,但有错误提示他们不接受这种类型的列表。

【问题讨论】:

【参考方案1】:

如果列表很大并且涉及大型对象,那么只使用名称会更好吗?

 lst = lst[order(names(lst))]

【讨论】:

不同之处在于您的代码按列表元素名称排序,但 OP 想要按列表元素值排序。也就是说,你的代码就是我要找的。​​span> 【参考方案2】:

您可以通过unlist 尝试,然后使用order

lst[order(unlist(lst),decreasing=TRUE)]
#  $`4`
#[1] 9

#$`3`
#[1] 7

#$`1`
#[1] 5

#$`2`
#[1] 4

#$`5`
#[1] 2

数据

lst <- setNames(list(5,4,7,9,2),1:5)

【讨论】:

以上是关于在R中对命名列表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Dart 中对列表进行排序? [复制]

如何在 Flutter 中对列表进行排序 [重复]

在 C# 中对对象列表进行排序

在 R 中对 ARIMA AIC 进行排序

在 Flutter 中对 JSON 列表进行排序 [重复]

在 Flutter 中对未来列表进行排序