RegioneR library in R
1
0
Entering edit mode
3.5 years ago

Hello!

I try to use regioneR library in R for permutation test. I get result, where z-score is equal to 79 or -90 and p-value is equal to 0.002 for both z-scores. Number of permutations is 500. I don't understand how those z-score and p-value are calculated.

Thanks!

R permutation test • 1.2k views
0
Entering edit mode

Yes, and there are no explanation why for different z-score there are the same p-value.

0
Entering edit mode

They are not the same z-score.

0
Entering edit mode
3.5 years ago
ATpoint 77k

These are bootstraping p-values. The second formula on this page here gives a reference where this comes from.

From the source code of the regioneR package (permTest function) they implement it as:

pval <- (sum(orig.ev >= rand.ev, na.rm = TRUE) + 1) / (num.valid.values + 1)


So the p-value, here testing that the overlap (or whatever you test) is greater for the observed events compared to the randomly-permutated events, is the number of times that the observed event is larger or equal divided by the number of permutations.

The Z-score is the deviation of the observed events by the mean of the permutated events (corrected for standard deviation) so basically a significant event should have a large Z-score since the observed event should be quite different from the mean of the random events.

zscore <- round((orig.ev - mean(rand.ev, na.rm = TRUE))/stats::sd(rand.ev,  na.rm = TRUE), 4)