全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2134 3
2021-04-17
> x<-arima.sim(n=1000,list(ar=c(0.1,0.12),ma=c(-0.6,0.7)))
> b=c(1:11)
> for(h in c(0:10))
+ {
+     c=0
+     for(i in c(1:1000-h))
+     {
+         c=x[i]*x[i+h]+c
+     }
+     b[h+1]=1/1000*c
+ }
Error in b[h + 1] <- 1/1000 * c : replacement has length zero

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-4-17 23:26:23
你在for(i in c(1:1000-h))的1000-h少了一对括号,以下即何运行
x <- arima.sim(n=1000,list(ar=c(0.1,0.12),ma=c(-0.6,0.7)))
b = c(1:11)
for(h in c(0:10))
{
    d = 0
    for(i in c(1:(1000-h)))
    {
        d=x[i]*x[i+h]+d
    }
    b[h+1]=1/1000*d
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-18 05:02:06
你检查一下你的语法,看看第二个for里面的c(1:1000-h)生成的东西是不是你想要的,如果是的话,你这个向量的长度会在底下的x[i+h]溢出
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-18 05:05:14
我自己试验,这样的写法可能是你想要的吧。
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群