Чтобы подмножество списка вектором в R, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
Метод 1: использование вектора в качестве индекса
my_list <- list(a = 1, b = 2, c = 3, d = 4)
my_vector <- c("a", "c")
subset_list <- my_list[my_vector]
Выход:
$a
[1] 1
$c
[1] 3
Метод 2: использование функции subset()
my_list <- list(a = 1, b = 2, c = 3, d = 4)
my_vector <- c("a", "c")
subset_list <- subset(my_list, names(my_list) %in% my_vector)
Выход:
$a
[1] 1
$c
[1] 3
Метод 3: использование функции pluck()
из пакета purrr
library(purrr)
my_list <- list(a = 1, b = 2, c = 3, d = 4)
my_vector <- c("a", "c")
subset_list <- pluck(my_list, my_vector)
Выход:
$a
[1] 1
$c
[1] 3
Метод 4: использование функции map()
из пакета purrr
library(purrr)
my_list <- list(a = 1, b = 2, c = 3, d = 4)
my_vector <- c("a", "c")
subset_list <- map(my_vector, ~my_list[[.x]])
Выход:
[[1]]
[1] 1
[[2]]
[1] 3