R : Copyright 2000, The R Development Core Team
Version 1.2.0 Under development (unstable) (2000-11-09)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type	"?license" or "?licence" for distribution details.

R is a collaborative project with many contributors.
Type	"?contributors" for a list.

Type	"demo()" for some demos, "help()" for on-line help, or
    	"help.start()" for a HTML browser interface to help.
Type	"q()" to quit R.

> ##
> ## RNG tests using DKW inequality for rate of convergence
> ##
> ## P(sup F_n-F >t)<2exp(-2nt^2)
> ##
> ## The 2 in front of exp() was derived by Massart. It is the best possible
> ## constant valid uniformly in t,n,F. For large nt^2 this agrees with the
> ## large-sample approximation to the Kolmogorov-Smirnov statistic.
> ## 
> 
> 
> superror<-function(rfoo,pfoo,sample.size,...){
+     x<-rfoo(sample.size,...)
+     tx<-table(x)
+     xi<-as.numeric(names(tx))
+     f<-pfoo(xi,...)
+     fhat<-cumsum(tx)/sample.size
+     max(abs(fhat-f))
+ }
> 
> pdkwbound<-function(n,t) 2*exp(-2*n*t*t)
> 
> qdkwbound<-function(n,p) sqrt(log(p/2)/(-2*n))
> 
> dkwtest<-function(stub="norm",sample.size=10000,...,pthreshold=0.001,print.result=TRUE,print.detail=FALSE,stop.on.failure=TRUE){
+     rfoo<-eval(as.name(paste("r",stub,sep="")))
+     pfoo<-eval(as.name(paste("p",stub,sep="")))
+     s<-superror(rfoo,pfoo,sample.size,...)
+     if (print.result | print.detail){
+         printargs<-substitute(list(...))
+         printargs[[1]]<-as.name(stub)
+         cat(deparse(printargs))
+         if (print.detail)
+             cat("\nsupremum error = ",signif(s,2)," with p-value=",min(1,round(pdkwbound(sample.size,s),4)),"\n")
+     }
+     rval<-(s<qdkwbound(sample.size,pthreshold))
+     if (print.result)
+         cat(c(" FAILED\n"," PASSED\n",)[rval+1])
+     if (stop.on.failure & !rval)
+         stop("dkwtest failed")
+     rval
+   }
> 
> 
> dkwtest("binom",size=1,prob=0.2)
binom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size=100,prob=0.2)
binom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size=1,prob=0.2)
binom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size=1,prob=0.8)
binom(size = 1, prob = 0.8) PASSED
[1] TRUE
> dkwtest("binom",size=100,prob=0.8)
binom(size = 100, prob = 0.8) PASSED
[1] TRUE
> dkwtest("binom",size=100,prob=0.2)
binom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("binom",size=1,prob=0.2)
binom(size = 1, prob = 0.2) PASSED
[1] TRUE
> 
> dkwtest("pois",lambda=9.5)
pois(lambda = 9.5) PASSED
[1] TRUE
> dkwtest("pois",lambda=0.95)
pois(lambda = 0.95) PASSED
[1] TRUE
> dkwtest("pois",lambda=95)
pois(lambda = 95) PASSED
[1] TRUE
> dkwtest("pois",lambda=0.95)
pois(lambda = 0.95) PASSED
[1] TRUE
> 
> dkwtest("nbinom",size=1,prob=0.2)
nbinom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size=100,prob=0.2)
nbinom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size=1,prob=0.2)
nbinom(size = 1, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size=1,prob=0.8)
nbinom(size = 1, prob = 0.8) PASSED
[1] TRUE
> dkwtest("nbinom",size=100,prob=0.8)
nbinom(size = 100, prob = 0.8) PASSED
[1] TRUE
> dkwtest("nbinom",size=100,prob=0.2)
nbinom(size = 100, prob = 0.2) PASSED
[1] TRUE
> dkwtest("nbinom",size=1,prob=0.2)
nbinom(size = 1, prob = 0.2) PASSED
[1] TRUE
> 
> dkwtest("norm")
norm() PASSED
[1] TRUE
> dkwtest("norm",mean=5,sd=3)
norm(mean = 5, sd = 3) PASSED
[1] TRUE
> 
> dkwtest("gamma",shape=0.1)
gamma(shape = 0.1) PASSED
[1] TRUE
> dkwtest("gamma",shape=10)
gamma(shape = 10) PASSED
[1] TRUE
> dkwtest("gamma",shape=0.1)
gamma(shape = 0.1) PASSED
[1] TRUE
> dkwtest("gamma",shape=10)
gamma(shape = 10) PASSED
[1] TRUE
> 
> dkwtest("hyper",m=40,n=30,k=20)
hyper(m = 40, n = 30, k = 20) PASSED
[1] TRUE
> dkwtest("hyper",m=4,n=3,k=2)
hyper(m = 4, n = 3, k = 2) PASSED
[1] TRUE
> dkwtest("hyper",m=40,n=30,k=20)
hyper(m = 40, n = 30, k = 20) PASSED
[1] TRUE
> dkwtest("hyper",m=4,n=3,k=2)
hyper(m = 4, n = 3, k = 2) PASSED
[1] TRUE
> dkwtest("hyper",m=5,n=3,k=2)
hyper(m = 5, n = 3, k = 2) PASSED
[1] TRUE
> 
> dkwtest("signrank",n=1)
signrank(n = 1) PASSED
[1] TRUE
> dkwtest("signrank",n=10)
signrank(n = 10) PASSED
[1] TRUE
> dkwtest("signrank",n=1)
signrank(n = 1) PASSED
[1] TRUE
> dkwtest("signrank",n=30)
signrank(n = 30) PASSED
[1] TRUE
> 
> dkwtest("wilcox",m=40,n=30)
wilcox(m = 40, n = 30) PASSED
[1] TRUE
> dkwtest("wilcox",m=4,n=3)
wilcox(m = 4, n = 3) PASSED
[1] TRUE
> dkwtest("wilcox",m=40,n=30)
wilcox(m = 40, n = 30) PASSED
[1] TRUE
> dkwtest("wilcox",m=4,n=3)
wilcox(m = 4, n = 3) PASSED
[1] TRUE
> dkwtest("wilcox",m=5,n=3)
wilcox(m = 5, n = 3) PASSED
[1] TRUE
> 
> dkwtest("chisq",df=1)
chisq(df = 1) PASSED
[1] TRUE
> dkwtest("chisq",df=10)
chisq(df = 10) PASSED
[1] TRUE
> 
> dkwtest("logis")
logis() PASSED
[1] TRUE
> dkwtest("logis",location=4,scale=2)
logis(location = 4, scale = 2) PASSED
[1] TRUE
> 
> dkwtest("t",df=1)
t(df = 1) PASSED
[1] TRUE
> dkwtest("t",df=10)
t(df = 10) PASSED
[1] TRUE
> dkwtest("t",df=40)
t(df = 40) PASSED
[1] TRUE
> 
> dkwtest("beta",shape1=1,shape2=1)
beta(shape1 = 1, shape2 = 1) PASSED
[1] TRUE
> dkwtest("beta",shape1=2,shape2=1)
beta(shape1 = 2, shape2 = 1) PASSED
[1] TRUE
> dkwtest("beta",shape1=2,shape2=2)
beta(shape1 = 2, shape2 = 2) PASSED
[1] TRUE
> dkwtest("beta",shape1=2,shape2=2)
beta(shape1 = 2, shape2 = 2) PASSED
[1] TRUE
> dkwtest("beta",shape1=.2,shape2=.2)
beta(shape1 = 0.2, shape2 = 0.2) PASSED
[1] TRUE
> 
> dkwtest("cauchy")
cauchy() PASSED
[1] TRUE
> dkwtest("cauchy",location=4,scale=2)
cauchy(location = 4, scale = 2) PASSED
[1] TRUE
> 
> dkwtest("f",df1=1,df2=1)
f(df1 = 1, df2 = 1) PASSED
[1] TRUE
> dkwtest("f",df1=1,df2=10)
f(df1 = 1, df2 = 10) PASSED
[1] TRUE
> dkwtest("f",df1=10,df2=10)
f(df1 = 10, df2 = 10) PASSED
[1] TRUE
> dkwtest("f",df1=30,df2=3)
f(df1 = 30, df2 = 3) PASSED
[1] TRUE
> 
> dkwtest("weibull",shape=1)
weibull(shape = 1) PASSED
[1] TRUE
> dkwtest("weibull",shape=4,scale=4)
weibull(shape = 4, scale = 4) PASSED
[1] TRUE
>