R 包fitdistrplus具有denscomp
绘制拟合累积密度曲线以及数据直方图的功能。作为一个 R 新手,我很欣赏这个包中所有可用的地块。
有没有一种简单的方法来绘制没有直方图的曲线?
histogram = FALSE
我在文档中的denscomp
函数中找不到类似的选项。
我应该如何使用fitdist$estimate
来绘制累积密度曲线?
R 包fitdistrplus具有denscomp
绘制拟合累积密度曲线以及数据直方图的功能。作为一个 R 新手,我很欣赏这个包中所有可用的地块。
有没有一种简单的方法来绘制没有直方图的曲线?
histogram = FALSE
我在文档中的denscomp
函数中找不到类似的选项。
我应该如何使用fitdist$estimate
来绘制累积密度曲线?
我不确定是否有一种简单的方法可以改变 的行为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")
现在我们将使用返回的参数滚动我们自己的 Weibull 密度fitdist
。fitW$estimate
包含数据的拟合 Weibull 分布的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")
所有三个图如下所示:
如果要将 Weibull 拟合与经验核密度进行比较,可以这样做:
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")