没有for循环的连接动物园对象

时间:2011-12-12 06:55:52

标签: r plyr zoo

我有一个函数获取日期并返回包含日内时间序列的动物园对象。这是一个模型:

    getData<-function(valuationDate) 
        zoo(
            rnorm(10), 
            seq(as.POSIXlt(paste(valuationDate,"09:00")),length.out=10,by="hour")
        )

我想将此功能应用于日期列表

    valuationDates<-seq(Sys.Date(),Sys.Date()+10,by="day")

并连接生成的zoo对象。如果lzply存在,则看起来像这样

    z <- lzply(valuationDates,getData)

我找到的唯一解决方案是从一个空的动物园对象开始,并在for循环中连接动物园对象。但它很难看。肯定有更好的办法。你会怎么做?

1 个答案:

答案 0 :(得分:1)

您要做的是创建一个-whatever-列表。在那之后,你可以使用rbind,cbind,c,你自己的函数将任何东西粘合在一起......你可以命名它。在你的情况下,那将是

z <- sapply(valuationDates, getData, simplify = FALSE)
do.call("rbind", z)