2016-08-02 77 views
-1

我有大約30個獨立的時間系列在R.我想把它們都放在一個大型數據集內,但似乎無法做到這一點。我有多個時間序列,需要把它們放在一個data.frame

我已經使用下面的代碼,但它不起作用。我所有的時間序列名TS1,TS2等。如果我是做DF < - data.frame(TS1,TS2)這部作品單獨但如果我輸入的是這樣

for(i in 2:nrow(deal)) 
{ 
temp <- paste("ts",i,sep="") 
mystring <- paste(mystring,temp,sep=",") 
} 
df <- data.frame(mystring) 
+0

使用[編輯](http://stackoverflow.com/posts/38715951/edit)更新您的文章,更多信息和代碼。 – zx8754

回答

0

鑑於df <- data.frame(ts1,ts2)作品,下面應該工作:

N <- nrow(deal) # or whatever number of time series you have 
df <- data.frame(sapply(1:N, function(i) eval(parse(text=paste("ts",i,sep=""))))) 

注:

  1. sapply環比從1序列N和應用功能。函數的結果作爲列被收集到一個矩陣中,然後強制到一個數據框中。
  2. 應用的函數構造第i個時間序列的名稱的字符串,並使用this SO answer來評估字符串中的表達式。這將返回時間序列。

希望這會有所幫助。

+0

非常好!謝謝 –

相關問題