结合if和逻辑&总是会出错。 R中的陈述

时间:2011-11-14 15:59:13

标签: r

当我尝试将if语句与逻辑&组合时,我总是收到错误R中的陈述。

我有2个数据,f是数据框,st_dev是数字类。

我尝试运行:

for (w in 1:100){
if (((f[[w]]>0.02) & ((st_dev[w]-st_dev[w+1])>abs(0.0025)))==1){
o[w]<-index(f[w])
break}}}

但后来我收到错误消息:

  

if语句出错,缺少值需要TRUE / FALSE

希望有人可以提供帮助。提前致谢! :)

1 个答案:

答案 0 :(得分:3)

这可能是因为您的f数据中缺少值。尝试使用is.na()捕获NAs或在迭代数据之前过滤掉NA。

你可能不想完全省略NA的值,但是测试这是否真的是你的问题的一种方法是运行f <- na.omit(f)然后尝试你的循环。如果它然后运行,你就会知道f中的NAs是你的问题。