В R, как объединить несколько столбцов в списке списков - PullRequest
1 голос
/ 11 апреля 2019

У меня есть функция в R, которая возвращает список с N столбцами в каждой из M строк нескольких типов - date, numeric и char.Я использую sapply для создания нескольких копий этих списков, которые затем попадают в список верхнего уровня.Я хотел бы объединить базовые списки вместе, чтобы создать единый список из N столбцов и M * количества строк списка.

Я пробовал разные комбинации do.call, sapply, rbind, c и т. Д., но я думаю, что мне не хватает чего-то довольно фундаментального.Ниже приведен простой скрипт, который имитирует проблему и показывает желаемый результат.Я использовал 3 переменные здесь, но число переменных произвольно.

# Set up test function
testfun <- function(varName) 
{
  currDate = seq(as.Date('2018-12-31'), as.Date('2019-01-10'), "days")
  t1 = runif(11)
  t2 = runif(11)
  groupNum = c(rep(1,5), rep(2,6))
  varName = rep(varName, 11)

  dataout= data.frame(currDate, t1, t2, groupNum, varName)
}  

# create 3 test variables and run the data
varNames = c('test1', 'test2', 'test3')
tmp = sapply(varNames, testfun)

# I would like it to look like the following, but for any given number of variables
desiredAnswer <- rbind(as.data.frame(tmp[,1]),as.data.frame(tmp[,2]),as.data.frame(tmp[,3]))

Окончательный ответ будет позже использован для создания таблицы данных и подачи ggplot с varName в качестве фасетов.Я счастлив использовать любой метод для получения желаемых результатов, нет причин, по которым функция должна создавать список, а не, скажем, data.frame.Я уверен, что делаю что-то глупое, любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...