R中的嵌套If语句

R中的嵌套If语句,r,function,if-statement,for-loop,nested,R,Function,If Statement,For Loop,Nested,我在R中有一个函数,它在一个if语句中计算多个if语句。当我运行它时,它会返回一条错误消息(我只包括代码的sketh,因为实际函数相当大): 错误: Error in if (X_star - x != 0) { : missing value where TRUE/FALSE needed. 我读过其他一些帖子,人们似乎也有同样的问题,但我找不到一个明确的答案。我盯着它看了一段时间,但找不出它有什么毛病。这个函数位于for循环中,所以我不能真正使用矢量化的ifelse。我非常感谢你的帮助

我在R中有一个函数,它在一个if语句中计算多个if语句。当我运行它时,它会返回一条错误消息(我只包括代码的sketh,因为实际函数相当大):

错误:

Error in if (X_star - x != 0) { : missing value where TRUE/FALSE needed. 
我读过其他一些帖子,人们似乎也有同样的问题,但我找不到一个明确的答案。我盯着它看了一段时间,但找不出它有什么毛病。这个函数位于for循环中,所以我不能真正使用矢量化的ifelse。我非常感谢你的帮助

干杯


Napo

从学习如何调试程序开始。这是“选项”中的一句话

函数dump.frames和recover提供了允许事后调试的备选方案。请注意,这些需要指定为选项(error=utils::recover)


使用上面提到的选项功能,然后在出现错误时,您可以检查对象的内容,您可能会看到其中一个是NA。在每次会话开始时,我都会调用该函数来捕获这样的错误。

查看
X\u star-X
的结果。在我看来,它在某个点上呈现出一个
NA
值。你读过了吗?
X_star
X
的值是什么?@ujjwal:同意这是不清楚的。建议投票关闭。X_星和X是整数(取1到7之间的任意值)。它是可逆跳转MCMC实现的一部分。我同意这是含糊不清的。我可以发布整个函数,但我担心它会有点太长(该函数大约有100行长,其中包含一些其他函数)。谢谢吉姆,最近怎么样?:-)我会的,谢谢。
Error in if (X_star - x != 0) { : missing value where TRUE/FALSE needed.