我需要创建一个Q-Q图,以检查我观察到的数据是否符合泊松分布。
这是我的data.frame:
df = read.table(text = 'Var1 Freq
1975 10
1976 12
1977 9
1978 14
1979 14
1980 11
1981 8
1982 7
1983 10
1984 8
1985 12
1986 9
1987 10
1988 9
1989 10
1990 9
1991 11
1992 12
1993 9
1994 10', header = TRUE)
df$Freq
列是我感兴趣的列,因为观察结果代表了每年的事件数量。
我知道我必须使用qqplot
函数和qpois
函数来创建理论分位数,但是如何?
答案 0 :(得分:2)
ggplot2
有一个很好的界面来做这件事。这是一张QQ图,红色的协议步骤线。 QQ图是使用stat_qq
并更改distribution
参数。您需要在lambda
参数中提供dparams
。
ggplot(data = df,
mapping = aes(sample = Freq)) +
stat_qq(distribution = stats::qpois,
dparams = list(lambda = mean(df$Freq))) +
geom_step(data = data.frame(x = 6:16,
Freq = 6:16),
mapping = aes(x = x,
y = Freq),
colour = "red",
alpha = 0.5)
答案 1 :(得分:2)
此外,fitdistrplus
包可以用更少的代码完成此操作。比较经验和理论密度和CDF。
library('fitdistrplus')
plot(fitdist(df$Freq,"pois"))
你可以获得你的lambda等,并检查其他发行版。不像ggplot
方法那样灵活,但有助于快速检查。
答案 2 :(得分:1)
这是我可能的答案:
spring-security-oauth2
如果您发现任何错误,请告诉我。感谢