我希望能够对理论分位数做qqplots。我已经知道qqnorm()
为正态分布做了这个,但这对我来说是一个非常有限的工具。此外,我注意到有些人模拟来自给定分布的随机过程并使用它来与样本数据进行比较,这不完全严格,因为它取决于模拟方法。所以我的例子是将样本数据与几何分布进行比较:
#sample data
var=rgeom(prob=0.3, n=100)
#QQplot against a theoretical geometric distribution with prob=0.5
答案 0 :(得分:1)
您可以使用ggplot2
包轻松制作此类地图:
library(ggplot2)
qplot(sample = var, geom = "point", stat = "qq",
distribution = qgeom, dparams = list(prob = 0.5))
理论分位数(x轴)是从概率为0.5的几何分布导出的。
更新(根据评论中的问题):
可以通过以下方式添加线条,但它不太适合几何分布。该方法基于this answer。
qv <- quantile(var, c(.25, .75))
qt <- qgeom(prob = 0.5, c(.25, .75))
slope <- diff(qv)/diff(qt)
int <- qv[1] - slope * qt[1]
qplot(sample = var, geom = "point", stat = "qq",
distribution = qgeom, dparams = list(prob = 0.5)) +
geom_abline(slope = slope, intercept = int)
答案 1 :(得分:0)
Q-Q图是随机样本的分位数与测试分布的分位数的关系图。所以,
plot(qgeom(seq(0,1,length=100),.3),quantile(var,seq(0,1,length=100)))