楼主: athenachuxl
1285 3

[问答] R循环出错,求助。 [推广有奖]

  • 0关注
  • 0粉丝

高中生

72%

还不是VIP/贵宾

-

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

楼主
athenachuxl 发表于 2015-4-30 01:22:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

> str(k)
'data.frame':        264 obs. of  1 variable:
$ X000001.SH: num  0.9113 0.0499 -0.1761 -0.8277 -0.2382 ...

> h5<-function(x) {
  a<-which(x>9.8)
  n<-length(a)
  bus<-NULL
  for(i in 1:n-7) {
    if (x[i+4]==x[i]+4) areturn<-mean(x[i+5],x[i+6])
    bus<-c(bus,areturn) }
  zreturn<-mean(bus)
  return(zreturn)
  }
}

> h5(k)
Error: object 'areturn' not found
In addition: Warning message:
In if (x[i + 4] == x[i] + 4) areturn <- mean(x[i + 5], x[i + 6]) :
  the condition has length > 1 and only the first element will be used


请问这个出错是什么意思?循环哪里有错吗?谢谢
二维码

扫码加我 拉你入群

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

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

关键词:Variable Frame ABLE Fram Data

沙发
zxn2011 发表于 2015-4-30 01:52:15
loop 错没错不知道  if (x[i+4]==x[i]+4) areturn<-mean(x[i+5],x[i+6]) if后面应该有个{} 你自己检查一下先确保语法格式没错
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

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

藤椅
万人往LVR 在职认证  发表于 2015-4-30 08:16:52
if (x[i+4]==x[i]+4) {areturn<-mean(x[i+5],x[i+6])}

板凳
nuomin 发表于 2015-4-30 08:40:28
  1. if (x[i+4]==x[i]+4) areturn<-mean(x[i+5],x[i+6])
复制代码
应该改成
  1. if (x[[1]][i+4]==x[[1]][i]+4) areturn<-mean(x[[1]][i+5],x[[1]][i+6])
复制代码
因为data.frame类型不是基本类型
已有 2 人评分论坛币 收起 理由
李会超 + 40 热心帮助其他会员
admin_kefu + 20 热心帮助其他会员

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

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 21:14