楼主: 木鱼mumu
1813 3

[问答] r语言小白 replacement has length zero 求各位大佬帮我看看 [推广有奖]

  • 0关注
  • 0粉丝

初中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
46 点
帖子
3
精华
0
在线时间
27 小时
注册时间
2020-4-17
最后登录
2022-9-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
> 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

二维码

扫码加我 拉你入群

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

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

关键词:replacement placement replace length Cement r语言入门 R语言 R语言软件 R语言新手问题

沙发
szxship 发表于 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
}
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

藤椅
owenqi 在职认证  学生认证  发表于 2021-4-18 05:02:06 |只看作者 |坛友微信交流群
你检查一下你的语法,看看第二个for里面的c(1:1000-h)生成的东西是不是你想要的,如果是的话,你这个向量的长度会在底下的x[i+h]溢出

使用道具

板凳
owenqi 在职认证  学生认证  发表于 2021-4-18 05:05:14 |只看作者 |坛友微信交流群
我自己试验,这样的写法可能是你想要的吧。
  1. x <- arima.sim(n=1000,list(ar=c(0.1,0.12),ma=c(-0.6,0.7)))
  2. b <- c(1:11)

  3. for(h in c(0:10)){
  4.   c <- 0
  5.   for(i in 1:(1000-h))
  6.     c <- x[i] * x[i+h] + c
  7.   
  8.   b[h+1] <- 1000/c
  9. }
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-9 13:37