【发布时间】:2014-12-27 00:33:30
【问题描述】:
我在 R 中有一个函数,可以评估 if 语句中的多个 if 语句。当我运行它时它返回一条错误消息(我只包括代码的sketh,因为实际的功能非常大):
if (X_star - x != 0){
if (w == 1){
#stuff
} else {
#stuff
if (X_star == 1){
#Stuff
} else {
#Stuff
}
#Stuff
}
Y = something
if (Y == 1){
#Stuff
} else {
#Stuff
}
} else {
if (Xmax - x !=0){
Y = something else
if (Y == 1){
#Stuff
} else {
#Stuff
}
} else {
#Stuff
}
}
错误:
Error in if (X_star - x != 0) { : missing value where TRUE/FALSE needed.
我阅读了一些其他帖子,其中人们似乎有同样的问题,但我找不到明确的答案。我已经盯着它看了一段时间,但找不到它有什么问题。这个函数位于一个 for 循环中,所以我不能真正使用向量化的 ifelse。如有任何帮助,我将不胜感激。
干杯,
纳波
【问题讨论】:
-
查看
X_star - x的结果。在我看来,它在某个时候会出现NA值。 -
X_star和x的值是多少? -
@ujjwal:同意这还不清楚。建议投票结束。
-
X_star 和 x 是整数(取 1 到 7 之间的任何值)。它是可逆跳转 MCMC 实现的一部分。我同意这是模糊的。我可以发布整个函数,但我担心它会有点太长(该函数大约 100 行长,其中包含一些其他函数)。谢谢
标签: r function if-statement for-loop nested