我是 R 新手,想为我的直方图添加一个伽玛分布的拟合。我希望伽玛分布适合覆盖我的直方图。
我能够用dgamma函数和函数计算伽马分布fitdist。但是,我无法将此伽马分布作为拟合叠加到我的直方图上。
这是我试过的代码:
hist(mydata, breaks = 30, freq = FALSE, col = "grey")
lines(dgamma(mydata, shape = 1))
我尝试的代码不会将伽马分布拟合到我的直方图上。我只得到没有拟合的直方图。
我是 R 新手,想为我的直方图添加一个伽玛分布的拟合。我希望伽玛分布适合覆盖我的直方图。
我能够用dgamma函数和函数计算伽马分布fitdist。但是,我无法将此伽马分布作为拟合叠加到我的直方图上。
这是我试过的代码:
hist(mydata, breaks = 30, freq = FALSE, col = "grey")
lines(dgamma(mydata, shape = 1))
我尝试的代码不会将伽马分布拟合到我的直方图上。我只得到没有拟合的直方图。
看看下面的例子是否有助于覆盖
在直方图上。
首先,创建一个数据集。
set.seed(1234) # Make the example reproducible
mydata <- rgamma(100, shape = 1, rate = 1)
现在将伽马分布拟合到数据中。
param <- MASS::fitdistr(mydata, "gamma")
拟合线需要此向量。
x <- seq(min(mydata), max(mydata), length.out = 100)
并将它们全部绘制出来。
hist(mydata, breaks = 30, freq = FALSE, col = "grey", ylim = c(0, 1))
curve(dgamma(x, shape = param$estimate[1], rate = param$estimate[2]), add = TRUE)
lines(sort(mydata), dgamma(sort(mydata), shape = 1),
col = "red", lty = "dotted")