我正在使用具有内部循环的循环。在每个内部循环中创建一个x时间序列(ts1,ts2,ts3,... tsx),然后我需要使用cbind绑定它们(data.f = cbind(ts1,ts2,ts3,... tsx) ))以便绘制data.f并查看在同一图中创建的所有时间序列。 问题是在每个周期中创建的时间序列数(x)都会发生变化,所以命令:
data.f=cbind(ts1, ts2, ts3,... tsx)
每次都会有不同数量的术语“tsi”。我怎样才能在我的一般循环中定义这个命令,其中包含在内部循环中创建的所有tsx,而我每次都不知道它们的数量?
答案 0 :(得分:0)
尝试do.call
和cbind
,如下所示
total <- abs(round(rnorm(1) * 20))
ts_final <- do.call(cbind,lapply(1:total,function(x){
as.xts(1:10,Sys.Date()-1:10)
}))
答案 1 :(得分:0)
每当您发现自己在变量名称后附加数字时,您需要停留在轨道中并重新考虑您的代码:您应该使用向量或列表。
在您的特定情况下,创建一个时间序列列表而不是单个变量,并使用dplyr::bind_cols(time_series)
或do.call(cbind, time_series)
将它们整理到一个表中。