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

时间:2017-08-01 13:37:24

标签: r

我试过这段代码:

My_fun <- function(first_argument, second_argument, w=c(0.5,0.4){


      for( i in 1:2){
      if(w[i] < 0){
        stop("w must be positive")
      }
    }
    }

我收到了这个错误:

Error in if (w[i] < 0) { : missing value where TRUE/FALSE needed

我的问题在哪里?有什么帮助吗?我认为我的代码应该运行良好!!

1 个答案:

答案 0 :(得分:0)

好吧,在w = c(0.5,0.4)

之后,它在1ºline中缺少一个“)”

你怎么称呼这个功能? 如果你打电话给“My_fun(1,2)”它的工作。

但是就像lmo说的那样,在这些情况下可能更安全地使用(i in w),因为你无论如何都期待一个矢量