У меня есть список, который выглядит следующим образом.
my_list <- list(Y = c("p", "q"), K = c("s", "t", "u"))
Я хочу присвоить каждому элементу списка (символьным векторам) имя списка, в котором они находятся. Все элементы одного и того же вектора должны иметь одинаковые имена
Я былспособен написать эту функцию, которая работает с одним элементом списка
name_vector <- function(x){
names(x[[1]]) <- rep(names(x[1]), length(x[[1]]))
return(x)
}
> name_vector(my_list[1])
$Y
Y Y
"p" "q"
, но не может найти способ векторизации.Если я запускаю его с функцией apply, он просто возвращает список без изменений
> lapply(my_list, name_vector)
$K
[1] "p" "q"
$J
[1] "x" "y"
Мой желаемый вывод для my_list - именованный вектор
Y Y K K K
"p" "q" "s" "t" "u"