[R] Kolmogorov-Smirnov: calculate p value given as input the test statistic

Rui Barradas ruipbarradas at sapo.pt
Sun Mar 3 16:50:21 CET 2013


Hello,

You can compute the p-value from the test statistic if you know the 
samples' sizes. R calls functions written in C for the several cases, 
for the two samples case, this is the code (edited)

n.x <- 100  # length of 1st sample
n.y <- 100  # length of 2nd sample
STATISTIC <- 1.23

PVAL <- 1 - .C("psmirnov2x",
	p = as.double(STATISTIC),
	as.integer(n.x),
	as.integer(n.y))$p
PVAL <- min(1.0, max(0.0, PVAL))


For the other cases check the source, file stats/ks.test.R.

As for the second question, I believe the answer is no, you must provide 
at least on sample and a CDF. Something like

x <- rnorm(100)
f <- ecdf(rnorm(100))

ks.test(x, f)


Hope this helps,

Rui Barradas

Em 03-03-2013 09:58, Rani Elkon escreveu:
> Dear all,
>
>
>
> I calculate the test statistic for the KS test outside R, and wish to use R
> only to calculate the corresponding p-value.
>
> Is there a way for doing this? (as far as I see,  ks.test() requires raw
> data as input). Alternatively, is there a way to provide the ks.test() the
> two CDFs (two samples test) rather than the (x, y) data vectors?
>
>
>
> Thanks in advance,
>
> Rani
>
>
>
>
>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list