我想对我拥有的一些数据点执行 log Pearson III 拟合。但是,每次我尝试这样做时,都会收到错误消息,我真的不知道该怎么办。我也许应该补充一点,从几天前开始我只使用 R,所以,我不是这方面的专家。
重要的代码部分,没有导入内容的部分等等是这样的:
pIIIpars<-list(shape=1, location=1, scale=1)
dPIII<-function(x, shape, location, scale) PearsonDS::dpearsonIII(x, shape=1, location=1, scale=1, params=pIIIpars, log=FALSE)
pPIII<-function(q, shape, location, scale) PearsonDS::ppearsonIII(q, shape=1, location=1, scale=1, params=pIIIpars, lower.tail = TRUE, log.p = FALSE)
qPIII<-function(p, shape, location, scale) PearsonDS::qpearsonIII(p, shape=1, location=1, scale=1, params=pIIIpars, lower.tail = TRUE, log.p = FALSE)
fitPIII<-fitdistrplus::fitdist(flowdata3$OEP, distr="PIII", method="mle", start=list("shape"=5000, "location"=5000, "scale"=5000))
summary(fitPIII)
plot(fitPIII)
Run Code Online (Sandbox Code Playgroud)
我使用 PearsonDS 包来定义 Log Pearson III 分布,并使用 fitdistrplus 进行拟合。
我总是得到的错误信息是这样的:
[1] "Error in optim(par = vstart, fn = fnobj, fix.arg = fix.arg, …Run Code Online (Sandbox Code Playgroud) r ×1