假设我有两个向量如下:
keys <- c("key1", "key2", "key3")
values <- c(1,2,3)
我希望生成一个这样的列表:
list("key1" = 1, "key2" = 2, "key3" = 3)
在R中执行此操作的好方法是什么?
答案 0 :(得分:2)
您可以执行以下操作:
keys <- c("key1", "key2", "key3")
values <- c(1,2,3)
my_list <- as.list(values) %>% setNames(keys)
答案 1 :(得分:2)
您也可以使用split
:
x <- split(values, keys)
副作用是生成的列表将按键排序。
答案 2 :(得分:2)
我们可以用基础R
在一行中执行操作as.list(setNames(values, keys))
#$key1
#[1] 1
#$key2
#[1] 2
#$key3
#[1] 3