我在为拟合分布生成 QQ 图时遇到问题。数据拟合为
NormalFit <- fitdistr(obs, densfun="normal")
其中 obs 是观测值。
我以为我能做到
qqnorm(NormalFit)
我想为
LogNormalFit <- fitdistr(obs, densfun="log-normal")
我在为拟合分布生成 QQ 图时遇到问题。数据拟合为
NormalFit <- fitdistr(obs, densfun="normal")
其中 obs 是观测值。
我以为我能做到
qqnorm(NormalFit)
我想为
LogNormalFit <- fitdistr(obs, densfun="log-normal")
拟合只给你推断的参数,所以你需要从中采样,给你 qqplot。请参阅下面的 3 个示例,了解如何执行此操作。
library(MASS)
set.seed(999)
par(mfrow=c(1,3))
#simulate data
obs = rnegbin(500, mu = 5, theta = 4)
#fit data
NormalFit <- fitdistr(obs, densfun="normal")
#plot
qqnorm(obs,main="qqnorm")
# generate theoretical quantiles
Theo_Quantile = qnorm(ppoints(length(obs)))
qqplot(Theo_Quantile,obs,main="ppoint")
# it's also similar to if you just sample from the fitted distribution
Fitted = rnorm(length(obs),NormalFit$estimate[1],NormalFit$estimate[2])
qqplot(Fitted,obs,main="Sampled from fitted")