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

create time series with a loop in R

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

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

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

你可以试试

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