Kolmogorov-Smirnov统计量被定义为经验和假设累积分布函数之间的最大距离。我认为最好是使用图来定位最大差异,而不是看数字。可视化ggplot2中的Kolmogorov-Smirnov统计量
我知道如何绘制经验分布函数
P1 < -qplot(RNORM(30),STAT = “ECDF”,GEOM = “步”)
但你能不能请告诉我如何在同一图上添加理论分布的累积分布函数?对我而言,理论分布是标准正态分布,但我对每个分布函数的推广感兴趣。
谢谢。
Kolmogorov-Smirnov统计量被定义为经验和假设累积分布函数之间的最大距离。我认为最好是使用图来定位最大差异,而不是看数字。可视化ggplot2中的Kolmogorov-Smirnov统计量
我知道如何绘制经验分布函数
P1 < -qplot(RNORM(30),STAT = “ECDF”,GEOM = “步”)
但你能不能请告诉我如何在同一图上添加理论分布的累积分布函数?对我而言,理论分布是标准正态分布,但我对每个分布函数的推广感兴趣。
谢谢。
如果你想使用ggplot
,只是做
set.seed(15)
dd <- data.frame(x=rnorm(30))
ggplot(dd, aes(x)) +
stat_ecdf() +
stat_function(fun = pnorm, colour = "red")
你可以找到的最大距离,如果你有
ed <- ecdf(dd$x)
maxdiffidx <- which.max(abs(ed(dd$x)-pnorm(dd$x)))
maxdiffat <- dd$x[maxdiffidx]
喜欢并添加到情节与
ggplot(dd, aes(x)) +
stat_ecdf() +
stat_function(fun = pnorm, colour = "red") +
geom_vline(x=maxdiffat, lty=2)
只需使用'pnorm':'x < - seq(-3,3,length = 100); plot(x,pnorm(x))'。对于其他发行版,使用例如'pbeta','pcauchy'等 – Gregor 2014-12-03 22:14:36
@Gregor我看到了,但是如何在现有的ggplot2图上添加该图? – JohnK 2014-12-03 22:16:29