0

当我使用 MASS 包的 fitdistr() 函数将对数正态模型拟合到基于具有给定参数 mean_log 和 sd_log 的对数正态分布的随机采样数据时,我不断收到错误消息“'x' contains missing or infinite values”。这是我的 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 或“无限值”是什么意思。有没有解决的办法?

谢谢!

4

0 回答 0