当我使用 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 或“无限值”是什么意思。有没有解决的办法?
谢谢!