在R中的for循环内合并不起作用
我有一个列表形式的时间序列数据,定义如下 [[1]][[1]] [1] “产品名称” [[1]][[2]] [1] 20031031“开始持续时间” [[1]][[3]] [1] 20160831“终止期限” [[1]][[4]] [1] 0.040816323 0.010141988 0.050318689 0.012804102 0.011378003 “一系列观察” 例如,我尝试使用以下命令合并两个系列:merge(as.zoo(TS1)、as.zoo(TS2)) 该功能在不在循环内时工作正常,在for循环内使用时失真在R中的for循环内合并不起作用,r,R,我有一个列表形式的时间序列数据,定义如下 [[1]][[1]] [1] “产品名称” [[1]][[2]] [1] 20031031“开始持续时间” [[1]][[3]] [1] 20160831“终止期限” [[1]][[4]] [1] 0.040816323 0.010141988 0.050318689 0.012804102 0.011378003 “一系列观察” 例如,我尝试使用以下命令合并两个系列:merge(as.zoo(TS1)、as.zoo(TS2)) 该功能在不在
startYear = as.numeric(substr(unlist(TimeSeries[[1]][2]),1,4))
startMonth = as.numeric(substr(unlist(TimeSeries[[1]][2]),5,6))
TS1 = ts(unlist(TimeSeries[[1]][4]), start = c(startYear,startMonth),
frequency = 12)
TS2 = ts(unlist(TimeSeries[[2]][4]), start = c(startYear,startMonth),
frequency = 12)
M <- merge(as.zoo(TS1), as.zoo(TS2))
startYear=as.numeric(substr(unlist(TimeSeries[[1]][2]),1,4))
startMonth=as.numeric(substr(unlist(TimeSeries[[1]][2]),5,6))
TS1=ts(未列出(时间序列[[1]][4]),start=c(开始日期,开始月份),
频率=12)
TS2=ts(未列出(时间序列[[2]][4]),start=c(开始时间、开始月份),
频率=12)
我认为合并很好
给定以下代码:
library("zoo")
a = as.zoo(ts(rnorm(5), start = 1981, freq = 12))
b = as.zoo(ts(rnorm(10), start = 1981, freq = 12))
merge(a,b)
for(I in 1:1){
merge(a,b)
}
library("zoo")
a = as.zoo(ts(rnorm(5), start = 1981, freq = 12))
b = as.zoo(ts(rnorm(10), start = 1981, freq = 12))
new1 <- merge(a,b)
for(I in 1:1){
new2 <- merge(a,b)
}
new1
new2
只有第一个merge(a,b)
将打印到控制台——为了在for循环中打印到控制台,您需要显式调用print
您可以通过执行以下命令看到这一点:
for (I in 1:1){
1:10
}
及
这并不意味着循环中的代码不会被执行
请参阅以下代码的输出:
library("zoo")
a = as.zoo(ts(rnorm(5), start = 1981, freq = 12))
b = as.zoo(ts(rnorm(10), start = 1981, freq = 12))
merge(a,b)
for(I in 1:1){
merge(a,b)
}
library("zoo")
a = as.zoo(ts(rnorm(5), start = 1981, freq = 12))
b = as.zoo(ts(rnorm(10), start = 1981, freq = 12))
new1 <- merge(a,b)
for(I in 1:1){
new2 <- merge(a,b)
}
new1
new2
您需要向我们展示您的代码,然后发布您的代码,这样我们中的任何人都可以自己重新创建问题并找到解决方案。请尝试dput(),或查看此线程:@Edward,我已更新并编辑了我的问题,如果您需要更多详细信息,请告诉我
a b
1981(1) 0.2137495 -0.4148458
1981(2) -0.1298899 -0.4880588
1981(3) 0.2452036 0.1619693
1981(4) -0.2251848 0.4866681
1981(5) 1.1049321 1.2171081
1981(6) NA -0.5852703
1981(7) NA 1.5238886
1981(8) NA -0.7583958
1981(9) NA -0.2972132
1981(10) NA -0.4476471
a b
1981(1) 0.2137495 -0.4148458
1981(2) -0.1298899 -0.4880588
1981(3) 0.2452036 0.1619693
1981(4) -0.2251848 0.4866681
1981(5) 1.1049321 1.2171081
1981(6) NA -0.5852703
1981(7) NA 1.5238886
1981(8) NA -0.7583958
1981(9) NA -0.2972132
1981(10) NA -0.4476471