在R中,如何连接列表列表中的多个列

时间:2019-04-11 11:00:50

标签: r list concatenation

我在R中有一个函数,该函数返回N列的列表,其中N列包含M,M,D行,数字和字符的多种类型。我正在使用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]))

最终的答案将在以后用于创建数据表并以varName作为构面输入ggplot。  我很高兴使用任何方法来获得期望的结果,没有理由该函数不需要生成列表而不是说data.frame。我确定我正在做一些愚蠢的事情,感谢任何帮助。

0 个答案:

没有答案