How to get negative 2 ks test D value in R?
0
0
Entering edit mode
3.0 years ago
MatthewP ★ 1.2k

Hello, here is an EMT score method

The empirical cumulative distribution function (ECDF) was estimated for Epi and Mes gene sets. The 2KS test was employed to compute the difference between Mes ECDF (ECDFMes) and Epi ECDF (ECDFEpi). The 2KS score was then taken as the EMT score. A sample with a positive EMT score exhibits a more Mes phenotype, whereas a negative EMT score reflects a more Epi phenotype. Note that the 2KS test allows segregation of samples into Epi (2KS score ECDFEpi > ECDFMes; P < 0.05), intermediate Epi (2KS score ECDFEpi > ECDFMes; P ≥ 0.05), intermediate Mes (2KS score ECDFEpi < ECDFMes, P ≥ 0.05) and Mes (2KS score ECDFEpi < ECDFMes, P < 0.05).

I want to reproduce with R. My understanding is no need to use ecdf function, just use ks.test to determine distribution function relationship between Epi and Mes gene set.
My problem is can't get negative 2ks score in R. For example you can't get negative D value as code shows:

> m <- rnorm(200, mean = 1)
> n <- rnorm(200, mean = 2)
> plot(ecdf(m), col = "green")
> plot(ecdf(n), col = "red", add = TRUE)

> ks.test(m, n, alternative = "greater")

Two-sample Kolmogorov-Smirnov test

data:  m and n
D^+ = 0.46, p-value < 2.2e-16
alternative hypothesis: the CDF of x lies above that of y

> ks.test(m, n, alternative = "less")

Two-sample Kolmogorov-Smirnov test

data:  m and n
D^- = 0.005, p-value = 0.995
alternative hypothesis: the CDF of x lies below that of y


The paper
Tan T Z, Miow Q H, Miki Y, et al. Epithelial‐mesenchymal transition spectrum quantification and its efficacy in deciphering survival and drug responses of cancer patients[J]. EMBO molecular medicine, 2014, 6(10): 1279-1293.

RNA-Seq statics • 1.0k views
0
Entering edit mode

You can extract it from the value returned by ks.test(...). Use result <- ks.test(...); result\$statistic. Have a look at the "Value" section of the ks.test help page: https://www.rdocumentation.org/packages/dgof/versions/1.2/topics/ks.test

0
Entering edit mode

Yes I know how to get D value. My problem is there is no negative D value as the paper said "A sample with a positive EMT score exhibits a more Mes phenotype, whereas a negative EMT score reflects a more Epi phenotype.". ks.test function return positive D value or 0.

0
Entering edit mode

Isn't that (the negative D value) what the "D^-" represents in the ks.test(..., alternative = "less")