假设我有一个类似的列表:
my_list <- list(name1 = 'a', name2 = 'b', name3 = 'c', name4 = 'd')
我想根据以下变量来排序:
my_var=c('name2','name1','name4','name3')
我尝试了以下方法,但没有达到我的预期:
my_list[order(match(my_list, my_var))]
my_list[match(my_list, my_var)]
有什么帮助吗?谢谢!
我猜你想像这样使用
match
> my_list[match(my_var, names(my_list))]
$name2
[1] "b"
$name1
[1] "a"
$name4
[1] "d"
$name3
[1] "c"
但是,您已经可以简单地运行
my_list[my_var]
来实现您想要的。