我試圖使用命令ifelse
如下ifelse無法正常運行中的R
temp <- function(p){
ifelse(p < 0.5 *(1 + 0.5), (1 + 0.5) * qnorm(p/(1 +0.5)), (1 - 0.5) * qnorm((p - 0.5)/(1 - 0.5)))
}
功能與標量值效果很好,例如
> temp(0.1)
[1] -2.251629
> temp(0.9)
[1] 0.4208106
創建R中的矢量功能但不適用於矢量:
> temp(c(0.1,0.9))
[1] -2.2516289 0.4208106
Warning message:
In qnorm((p - 0.5)/(1 - 0.5)) : NaNs produced
奇怪的是它返回正確的答案,b表示警告。
我在做什麼錯?看起來ifelse
正在評估向量p
的所有條目中的兩個函數,這應該通過此命令來避免。
什麼是警告信息?請提供複製您問題的示例輸入。 – Roland 2014-09-24 09:03:15
什麼是警告? – mgriebe 2014-09-24 09:03:16
@Roland和mgriebe完成,謝謝。 – 2014-09-24 09:04:47