Reputation: 2594
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.
Upvotes: 24
Views: 18069
Reputation: 932
If the list is large and involves large objects, would it be better to just use names?
lst = lst[order(names(lst))]
Upvotes: 42
Reputation: 887691
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
lst <- setNames(list(5,4,7,9,2),1:5)
Upvotes: 12