找回密码
 立即注册
查看: 7962|回复: 3

关于if函数的error反馈

[复制链接]
发表于 2014-5-30 00:54:49 | 显示全部楼层 |阅读模式
本帖最后由 yangsiyuan0 于 2014-5-30 00:58 编辑

for(i in 1:length(a)){
  for(j in i+1:length(a)){
    if(abs(a)==abs(a[j]))
      m=m+1;
}
}
反馈的错误是:
Error in if (abs(a) == abs(a[j])) m = m + 1 :   missing value where TRUE/FALSE needed

麻烦问一下,这种错误是什么意思啊,应该怎么改正啊,新手求教
非常感谢
回复

使用道具 举报

发表于 2014-5-31 09:53:35 | 显示全部楼层
这里没法比较  “abs(a) == abs(a[j]))”  左右长度不同
回复

使用道具 举报

 楼主| 发表于 2014-5-31 10:41:58 | 显示全部楼层
本帖最后由 yangsiyuan0 于 2014-5-31 10:43 编辑
wanghonghong2 发表于 2014-5-31 09:53
这里没法比较  “abs(a) == abs(a[j]))”  左右长度不同

前面是a (i)(a和【i】放一起没法显示)
不知道为什么发出来的贴不显示,我改了几次都显示为a
回复

使用道具 举报

发表于 2014-6-14 08:51:37 | 显示全部楼层
如果你的a[i]=length(a)时,a[j]就成了从length(a)+1到length(a),显然是错误的,你应该把 i 时改成1:length(a)-1就好了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 13:16 , Processed in 0.018798 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表