0

我有一个 for 循环,它在一些计算后将一个日期和一个值存储在一个列表中。我想创建一个两列表(日期,值),但是当我从列表中提取值时,我无法保留日期格式:

n <- 5

x <- factor(1:3,levels=1:3,labels=c('a','b','c'))
dates <- as.Date(c('2000-01-01','2001-01-01','2002-01-01'))

mylist <- list()

for (i in 1:n) {

  #Some operations

  mylist[[i]] <- list(sample(dates,1),as.numeric(sample(x,1)))

}

z <- do.call(cbind,mylist)
4

1 回答 1

0

您需要将数据结构更改为可以实际保存不同数据类型(即数据框)的数据结构,然后将rbind它们放在一起:

for (i in 1:n) {

  #Some operations

  mylist[[i]] <- data.frame(sample(dates,1),as.numeric(sample(x,1)))

}

z <- do.call(rbind,mylist)

您的代码中的问题是该cbind操作将其强制list为 a matrix(这是rbind/的默认行为cbind),它只能保存一种数据类型。

于 2013-07-15T08:44:26.327 回答