****The empirical distribution function **Uniform distribution n<-100 data<-sort(runif(n)) x.points<-(1:1000)/1000 Fn<- (1:n)/n par(col="black") plot(x.points,punif(x.points),type="l",ylim=c(0,1),xlim=range(x.points)) par(new=TRUE, col="red") plot(data,Fn,type="s",ylim=c(0,1),xlim=range(x.points)) **Normal distr. n<-100 data<-sort(rnorm(n)) x.points<-(-1000:1000)/100 Fn<- (1:n)/n par(col="black") plot(x.points,pnorm(x.points),type="l",ylim=c(0,1),xlim=range(x.points)) par(new=TRUE, col="red") plot(data,Fn,type="s",ylim=c(0,1),xlim=range(x.points)) **Exponential distribution n<-30 data<-sort(rexp(n)) x.points<-(1:1000)/100 Fn<- (1:n)/n par(col="black") plot(x.points,pexp(x.points),type="l",ylim=c(0,1),xlim=range(x.points)) par(new=TRUE, col="red") plot(data,Fn,type="s",ylim=c(0,1),xlim=range(x.points)) ****Donskers theorem **Uniform distr n<-100000 data<-sort(runif(n)) x.points<-(1:1000)/1000 Fn<- (1:n)/n par(col="black") plot(data,sqrt(n)*(Fn-punif(data)),type="l") **Exponential distribution n<-1000 data<-sort(rexp(n)) Fn<- (1:n)/n par(col="black") plot(data,sqrt(n)*(Fn-pexp(data)),type="l") ***transformd to see the Brownian bridge plot(pexp(data),sqrt(n)*(Fn-pexp(data)),type="l") **Normal distribution n<-1000 data<-sort(rnorm(n)) Fn<- (1:n)/n par(col="black") plot(data,sqrt(n)*(Fn-pnorm(data)),type="l") ***transformd to see the Brownian bridge plot(pnorm(data),sqrt(n)*(Fn-pnorm(data)),type="l")