fitdistr(x, "lognormal") 中的错误消息:“'x' 包含缺失值或无限值”

问题描述

当我使用 MASS 包的 fitdistr() 函数将对数正态模型拟合到基于给定参数 mean_log 的对数正态分布随机采样数据时,我不断收到错误消息“'x' 包含缺失值或无限值”和 sd_log。这是我的 df (data.sub.in) 示例:

Total_isolates   mean_log          sd_log
183             1.230999091        1.049852973
1194           0.568334246         0.547259242
50             3.202339974         0.552608302
64            -2.866924997         0.224935652
174           0.214880033          1.472969423
208           0.453211618          0.515570327
99           -0.798169481          0.569061954
7            -0.396084103          0.626263956
9            -0.543650251          1.085093645
177          -0.732308038          0.514276152
795          -0.617314854          0.515441956
6            2.310490602           1.108072366

我从指定的分布中随机抽取样本,并使用以下代码对每个样本拟合对数正态模型:

    myboot <- function(p,d.in){
      # re-sample from fitted distribution 
      xi <- rlnorm(d.in$Total_isolates,meanlog = d.in$mean_log,sdlog = d.in$sd_log)
     # fit distribution to new data
     fiti <- fitdistr(xi,'lognormal')
    #return MIC10  
      MIC10i <- qlnorm(p,meanlog = fiti$estimate[1],sdlog=fiti$estimate[2])
      return(MIC10i)
    }

MIC10_boot <- replicate(1000,myboot(p = 0.10,d.in=data.sub.in))

我重新收到错误消息:

i fitdistr(xi,"lognormal") : 'x' contains missing or infinite values

我不确定为什么随机抽样会产生一些 NA 或“无限值”是什么意思。 有没有办法解决这个问题?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)