1、本文以R中的基础数据包iris为例。#数据集data<-iris;head(data)x<-iris$Species;head(x)y<-iris$Sepal.Length;head(y)
2、R中的经验分布函数ecdf即可实现经验分布函数的计算。但是ecdf表示的是一个函数,对其应用后才出现函数值。Fnx<-ecdf(x)Fny<-ecdf(y)Fnx #返回函数head(Fnx(x)) #返回x的百分比head(Fny(y))
3、对于联系变量可以看到计算出的四分位数。对于分类变量,可以类别数及累计概率。#查看统计值summary(Fnx)summary(Fny)summary.stepfun(Fnx)summary.stepfun(Fny)
4、经验分布图可以用函数plot.e罕铞泱殳cdf,y也可以直接用plot函数。plot.ecdf(Fnx)libr锾攒揉敫ary(graphics)op<-par(mfrow = c(2, 1),mgp = c(1.5, 0.8, 0), mar =.1+c(3,3,2,1))plot(Fnx)plot(Fny,verticals = TRUE) #添加垂直线par(op)
5、设置图形参数,将经验分布函数图额鹿赤柝画的更美观。plot(Fny, verticals = TRUE,do.points =T伊怕锱鳏RUE,lwd=2,col.points="steelblue", cex=0.1,col.hor="red3", col.vert="bisque",main="经验分布图")mtext("lwd = 2", adj =0)
6、为了方便观看每个点的对应横坐标轴,可以添加竖直坐标线。yy <- unique(sort(y), knots(Fny))lines(yy, Fny(yy), col = "blue")abline(v = knots(Fny), lty = 2, col = "gray70")par(op)