Я не уверен, есть ли простой способ изменить поведение denscomp
, но вы можете построить свой собственный график плотности, используя параметры распределения, возвращаемые fitdist
. Вот пример:
Настройте отображение трех графиков в одном окне:
par(mfrow=c(3,1), mar=c(4,4,3,1))
library(fitdistrplus)
Создайте объект fitdist
, используя пример, взятый из справки для denscomp
:
data(groundbeef)
serving <- groundbeef$serving
fitW <- fitdist(serving, "weibull")
Теперь сделаем стандартный denscomp
график:
denscomp(fitW, plotstyle="graphics", main="denscomp Version")
Теперь мы проверим нашу собственную плотность Вейбулла, используя параметры, возвращенные fitdist
. fitW$estimate
содержит параметры shape
и scale
подобранного распределения Вейбулла для данных serving
. Ниже мы создаем тот же график, что и выше, используя эти параметры:
x=seq(0, max(serving), length=100)
serving_dwei = dweibull(x, shape=fitW$estimate["shape"], scale=fitW$estimate["scale"])
hist(serving, freq=FALSE, main="Roll Your Own")
lines(x=x, y=serving_dwei, col="red")
И, наконец, только график плотности:
plot(x=x, y=serving_dwei, type="l", main="Density alone", xlab="Serving", ylab="Density")
Все три графика показаны ниже:
![введите здесь описание изображения](https://i.stack.imgur.com/oX2wW.png)
Если вы хотите сравнить подгонку Вейбулла с эмпирической плотностью ядра, вы можете сделать это:
plot(x=x, y=serving_dwei, type="l", main="Weibull fit plus empirical density",
xlab="Serving", ylab="Density",
ylim=c(0,max(c(serving_dwei, density(serving)$y))))
lines(density(serving), col="red")
![введите здесь описание изображения](https://i.stack.imgur.com/MPZXN.png)
person
eipi10
schedule
01.04.2017