2016-08-02 78 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

非常好!谢谢 –

相关问题