根据向量对列表元素进行排序

问题描述 投票:0回答:1

假设我有一个类似的列表:

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)]

有什么帮助吗?谢谢!

r list sorting variables
1个回答
4
投票

我猜你想像这样使用

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]
来实现您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.