Преобразование большого количества списков в переменные в кадре данных - PullRequest
0 голосов
/ 04 июля 2018

У меня есть пара сотен списков длиной ~ 4000, которые я хочу объединить во фрейм данных, чтобы каждый список становился переменной в фрейме данных. Как я могу сделать это, сохраняя имена списков в качестве имен переменных в новом фрейме данных?

Вот то, что я имею до сих пор с первыми 3 списками (formtype, cl и date)

datalist = list()

datalist[[1]] <- formtype
datalist[[2]] <- cl
datalist[[3]] <- date


data.out = as.data.frame(do.call(cbind,datalist))

Однако это не сохраняет имена списков (formtype, cl, date и т. Д.) В качестве имен переменных в data.out

1 Ответ

0 голосов
/ 04 июля 2018

Предполагая, что formtype, cl и date являются обычными векторами (не списками) и что они находятся в глобальной среде, т.е. в рабочей области, то:

formtype <- cl <- date <- 1:3  # test data
Names <- c("formtype", "cl", "date")
as.data.frame(mget(Names, .GlobalEnv))

дает:

  formtype cl date
1        1  1    1
2        2  2    2
3        3  3    3

Если formtype, cl и date действительно являются списками, как показано ниже, то unlist каждый:

formtype <- cl <- data <- as.list(1:3) # test data
Names <- c("formtype", "cl", "date")
as.data.frame(lapply(mget(Names, .GlobalEnv), unlist))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...