我正在将数据拟合到R中的多个分布。目标是查看哪种分布最适合我的数据。我使用的代码基于:http://www.di.fc.ul.pt/~jpn/r/distributions/fitting.html

my_data <- EP1sh

plotdist(my_data, histo = TRUE, demp = TRUE)

descdist(my_data, discrete=FALSE, boot=500)
fit_w  <- fitdist(my_data, "weibull")
fit_g  <- fitdist(my_data, "gamma")
fit_ln <- fitdist(my_data, "lnorm")
summary(fit_ln)

par(mfrow=c(2,2))
plot.legend <- c("Weibull", "lognormal", "gamma")
denscomp(list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
cdfcomp (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
qqcomp  (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)
ppcomp  (list(fit_w, fit_g, fit_ln), legendtext = plot.legend)


fit = fitdistr(my_data, densfun="lognormal")

我的数据帧是单个 vector EP1sh,它具有大约80个条目,值在1到6之间。

我不断收到以下错误。我最初以为是因为我的数据帧中有几个“NA”,但我想我解决了这个问题,仍然存在(这就是我从EP1sh中删除NA的方式:)
EP1sh <- na.omit(EP1$Number_share)
EP1sh <- data.frame(EP1sh)

错误是:



descdist(my_data,离散= FALSE,引导= 500)



fit_w


fit_g


fit_ln


摘要(fit_ln)



任何想法都很棒!

最佳答案

plotdist()descdist()fitdist()fitdistr()函数中,您需要指定一个 vector ,例如my_data$Number_share而不是整个数据帧my_data;假设您的“列”名称为Number_share,因此进行相应的修改。这有望解决您的问题!

关于r - 将数据拟合到R : errors中的分布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49241224/

10-11 07:22
查看更多