Order list elements according to a vector

Advertisements

Say I have a list like:

my_list <- list(name1 = 'a', name2 = 'b', name3 = 'c', name4 = 'd')

And I want to order it according to the following variable:

my_var=c('name2','name1','name4','name3')

I tried the following, but does not work as I expect:

my_list[order(match(my_list, my_var))]
my_list[match(my_list, my_var)]

Any help? Thanks!

>Solution :

I guess you want to use match like this

> my_list[match(names(my_list), my_var)]
$name2
[1] "b"

$name1
[1] "a"

$name4
[1] "d"

$name3
[1] "c"

BUT, you already can simply run my_list[my_var] to achieve what you want.

Leave a ReplyCancel reply