Rev 11301 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
R : Copyright 2000, The R Development Core TeamVersion 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>