用R中的循环创建时间序列

时间:2015-02-23 13:38:54

标签: r for-loop

我对基于循环的时间序列设置有疑问。我首先加载一个数据框:

DataR <- read.csv("XXX/R_Input_CSVs/DataR.csv", sep=";")

我想使用循环来生成DataR中每列的一个时间序列。我的时间序列应该具有相应列的名称:

Baugewerbe<-ts(DataR$Baugewerbe,freq=4,start=c(1991,3),end=c(2014,3))
Gastgewerbe<-ts(DataR$Gastgewerbe,freq=4,start=c(1991,3),end=c(2014,3))
Handel<-ts(DataR$Handel,freq=4,start=c(1991,3),end=c(2014,3))

......等等

for(i in 1:ncol(DataR)){
names(DataR[i])<-ts(DataR[,i],freq=4,start=c(1991,3),end=c(2014,3))
}

不幸的是代码不起作用。我需要改变什么? 提前致谢

1 个答案:

答案 0 :(得分:0)

你可以尝试

list2env(setNames(lapply(DataR, function(x) 
    ts(x, freq=4, start=c(1991,3), end=c(2014,3)), names(DataR)), 
             envir=.GlobalEnv)