美文网首页
R语言 -- if 不能识别含有NA的数据

R语言 -- if 不能识别含有NA的数据

作者: 生信摆渡 | 来源:发表于2020-05-13 22:48 被阅读0次
input <- data_valid[, 2:9]
calculate <-  function(x){
    if (fit_train$coefficients[[1]] + sum(x * fit_train$coefficients[-1]) < 0.5)
        return(0)
    else
        return(1)

}
> apply(input_1, 1, calculate)
Error in if (fit_train$coefficients[[1]] + sum(x * fit_train$coefficients[-1]) <  : 
  missing value where TRUE/FALSE needed

由于数据中含有NA,if不能讲if()内的计算结果的NA识别为TRUE和FALSE中的任一个,因此会这样报错。
解决办法:

input_1 <- na.omit(input)

只需要使用na.omit去掉含有NA的行或列,就可以愉快地进行if循环了~
啊啊啊,这个坑了我好一会~

相关文章

网友评论

      本文标题:R语言 -- if 不能识别含有NA的数据

      本文链接:https://www.haomeiwen.com/subject/ctsanhtx.html