Sort a named list in R

2020-02-28 04:45发布

问题:

I have a named list of term frequencies,

> 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

I want to sort them into descending order according to the frequencies. How to do this? I tried sort, sort.list, order but had errors saying they don't accept this type of list.

回答1:

You can try by unlist and then use order

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

#$`3`
#[1] 7

#$`1`
#[1] 5

#$`2`
#[1] 4

#$`5`
#[1] 2

data

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


回答2:

If the list is large and involves large objects, would it be better to just use names?

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