用户定义函数的问题

时间:2015-03-28 15:50:21

标签: r function if-statement

运行我的R代码时遇到了麻烦。它包含一些函数,但是在调用以下函数时会出现问题:

w <- function(p) {

   if (p == 1) pr <- 1
   if (p == 0) pr <- 0
   if (p != 0 && p != 1) pr <- exp(-(-log(p))^sigma)

   return(pr)
}

当此w函数的参数变为1时,会出现问题。我通过逐步执行检查它。我发现当我在另一个函数中有w(c1)并且c1的值为1时,我的w函数的返回值是NaN。我真的很困惑,因为当我简单地写w(1)时,我得到1,但是当我有w(c1),其中c1在另一个函数中计算为1时,则w函数不起作用。在逐步执行中,当c1变为1时,第一个if条件突然不起作用,它返回FALSE,但它应该相反,因为c1等于1.

这个问题可以解决什么问题?

0 个答案:

没有答案