运行R程序,单次运行有时对,有时不对,重复多次模拟运行几次就结束了,下面显示错误是这样的:
错误于if (sum(nstep^2) < sum(gstep^2)) gstep <- gstep * (sum(nstep^2)^0.5/sum(gstep^2)^0.5) :
需要TRUE/FALSE值的地方不可以用缺少值
问问各位大神,这种问题是否判断语句出现了NA,然后无法执行啊?该怎么解决?
谢谢!
运行R程序,单次运行有时对,有时不对,重复多次模拟运行几次就结束了,下面显示错误是这样的:
错误于if (sum(nstep^2) < sum(gstep^2)) gstep <- gstep * (sum(nstep^2)^0.5/sum(gstep^2)^0.5) :
需要TRUE/FALSE值的地方不可以用缺少值
问问各位大神,这种问题是否判断语句出现了NA,然后无法执行啊?该怎么解决?
谢谢!
很有可能,你可以看一下你的判断语句是否有缺失值
简单验证一下:
<br />
NA<5<br />
if(NA<5) print("Hello")<br />
</p>
诚如你所猜测,if函数需要输入TRUE/FALSE参数,而带有NA的逻辑表达式返回值是NA. 最可能的情况是,你的数据中出现了NA值。有多种简单办法可以处理,譬如:
<br />
?na.omit<br />
</p>还可以用sum(nstep^2, na.rm = TRUE)