Извлечь элементы из списка в векторизации? - PullRequest
0 голосов
/ 26 ноября 2018

Я хотел бы извлечь все предметы из списка и дать им новые названия.Есть ли простой способ сделать это?Результат, который я хочу, возможен утомительным ручным способом следующим образом:

mylist = list(data.frame(seq(1,10,1)), data.frame(seq(40,50,1)), data.frame(seq(70,80,1)))

apples = mylist[[1]]
pears = mylist[[2]]
oranges = mylist[[3]]

Однако это становится все более утомительным с большими списками или номерами списков.Я хочу спросить R,

«Пожалуйста, извлеките все элементы из mylist в отдельные объекты с именами c (« яблоки »,« груши »,« апельсины »).»

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Вы можете просто дать своим спискам имена и использовать list2env для хранения каждого элемента в глобальной среде.

list2env(x = setNames(mylist, c('apples','pears','oranges')), envir = .GlobalEnv)
0 голосов
/ 26 ноября 2018

Попробуйте использовать функцию assign из base.Он работает, давая строку (имя переменной) и ее содержимое.Вы можете сделать это, например:

names # vector containing variables names
sapply(1:length(names),function(x){ assign(names[x],mylist[[x]]}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...