# spearman.test

0th

Percentile

##### Spearman's rank correlation test with improved accuracy

This function is a modified copy of the part of the function cor.test(), which evaluates Spearman's rank correlation test. There are two modifications described below, which improve the accuracy of the p-value.

Keywords
htest
##### Usage
spearman.test(x, y,
alternative = c("two.sided", "less", "greater"),
method = "spearman",
exact = NULL, conf.level = 0.95, ...)
##### Arguments
x, y, alternative, exact, conf.level, ...
have exactly the same meaning as in cor.test. See the corresponding help page.
method
defaults to "spearman" and this should not be changed.
##### Details

In cases, where the correlation is positive, AS 89 is called with S+2 instead of S+1, which is used in cor.test. Since AS 89 assumes an even input, this increases accuracy.

Function cor.test uses AS 89 only if n <= 1290<="" code=""> and less accurate approximation using Student's t distribution otherwise. The code of cor.test contains a comment n*(n^2 - 1) does not overflow at the line with the test n <= 1290<="" code="">, which possibly tries to explain the reason for this restriction. However, this comment is probably related to older versions of the code. Currently, n is used in the C code after conversion to double and no integer overflow occurs for n > 1290. Hence, the function spearman.test uses AS 89 in all cases, unless the user explicitly specifies exact=FALSE.

##### Value

• A list with class "htest" with the same structure as the value of the function cor.test(method="spearman"). Except of the p-value, also the contents is identical.

##### concept

• Spearman correlation coefficient
• Spearman's rho

##### Aliases
• spearman.test
##### Examples
x <- 1:10
y <- c(5:1,6,10:7)
out1 <- cor.test(x,y,method="spearman")
out2 <- spearman.test(x,y)
# out1$p.value = 0.05169460 # out2$p.value = 0.05444507
# the correct p-value in this case is 0.05443067
c(out1$p.value, out2$p.value)
out2$p.value <- out1$p.value
# except of the p-value, the output is identical
identical(out1,out2)

# for negative correlation, there is no difference
out3 <- cor.test(x,-y,method="spearman")
out4 <- spearman.test(x,-y)
identical(out3,out4)
Documentation reproduced from package pspearman, version 0.1-10, License: GPL

### Community examples

Looks like there are no examples yet.