2011-12-12 56 views
0

我有一個函數獲取一個日期並返回一個包含當日時間序列的動物園對象。這裏是一個樣機:連接沒有for循環的動物園對象

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") 

和連接所產生的動物園對象的列表。如果lzply會存在,它會看起來像這樣

z <- lzply(valuationDates,getData) 

我發現開始與空動物園對象和連接內動物園的對象for循環的唯一解決方案。但它很醜陋。一定會有更好的辦法。你會如何做到這一點?

+3

喜歡的東西 'ž< - sapply(valuationDates,的getData,簡化= FALSE); do.call( 「rbind」,z)的'? –

+0

謝謝do.call是我錯過了。請寫一個答案,以便我們可以結束這個問題。 – LouisChiffre

回答

1

你想要做的是創建一個-whatever-的列表。在那之後,你可以用rbind,cbind,c,你自己的函數一起粘上任何東西......你可以將它命名。在您的情況下,這將是

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