函数中的 NaN

Posted

技术标签:

【中文标题】函数中的 NaN【英文标题】:NaNs in a function 【发布时间】:2020-07-07 15:36:15 【问题描述】:

我正在尝试运行以下函数,但收到 NaNs 我不明白我的错误...有什么想法吗?

preg<-seq(0.15,0.42,length=100) 
sigma<-seq(0.01,0.1, length=100) 

y <- c(0.1851852,0.4210526,0.3243243)
lf <- function(preg, sigma) prod(dunif(y, preg, sigma))
lf(0.3, 0.02)

谢谢!

【问题讨论】:

【参考方案1】:

对于dunif,参数为xminmax。根据?dunif

dunif(x, min = 0, max = 1, log = FALSE)

在这里,与sigma 相比,'preg' 以更高的值开始(对于min

dunif(y, preg[1], sigma[1])
#[1] NaN NaN NaN

dunif(y, 0.02, 0.3)
#[1] 3.571429 0.000000 0.000000

【讨论】:

以上是关于函数中的 NaN的主要内容,如果未能解决你的问题,请参考以下文章

线性模型函数 lm() 错误:外部函数调用中的 NA/NaN/Inf (arg 1)

do_one(nmeth) 中的错误:外部函数调用中的 NA/NaN/Inf (arg 1)

结果我在最后一个函数中的一个数字旁边得到了 NaN

如何消除“外部函数调用中的 NA/NaN/Inf (arg 7)”使用 randomForest 运行预测

为啥这个函数返回 NaN?

用相关列的平均值替换数据框中的 NaN 值的函数