У меня есть функция в 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.Я уверен, что делаю что-то глупое, любая помощь приветствуется.