У меня есть несколько списков:
my_list1 <- list("data" = list(c("a", "b", "c")), "meta" = list(c("a", "b")))
my_list2 <- list("data" = list(c("x", "y", "z")), "meta" = list(c("x", "y")))
Я хотел бы иметь возможность выполнять некоторые операции над этими списками, но мне нужно использовать имена списков, хранящихся в векторе, при созданииих динамически от вызова API.Такой вектор может быть:
list_vec <- c("my_list1", "my_list2")
У меня проблемы с вычислением строки символов в векторе в названии списка.Я знаю, что эта тема уже была рассмотрена, но часть, на которой я застрял, - это возможность извлечь только подсписок data
при запуске функций в assign
.По сути, такая ситуация:
library(purrr)
for(i in seq_along(1:length(list_vec))){
assign(list_vec[[i]], map_df(list_vec[[i]][["data"]], unlist))
}
Что даст результат:
# A tibble: 3 x 1
data
<chr>
1 a
2 b
3 c
Я мог бы также сделать что-то вроде:
my_list1$meta <- NULL
с
list_vec[[1]][["meta"]] <- NULL
Чтобы сократить список только до подсписка data
, но я не могу в динамически назначенных именах.
Я также обертываю вещи с eval
, но не могу получитьчтобы это работало.
Так что конкретно мне нужно оценить имя списка из строки, чтобы я мог извлечь из него подсписок.