Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sort a named list in R

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.

like image 358
Logan Yang Avatar asked Dec 05 '14 09:12

Logan Yang


2 Answers

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

 lst = lst[order(names(lst))]
like image 152
RTS Avatar answered Nov 15 '22 18:11

RTS


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)
like image 29
akrun Avatar answered Nov 15 '22 18:11

akrun