MATLAB Answers

# calculate a P value using a permutation test

131 views (last 30 days)
noa goldman on 11 Jan 2020
Commented: BINNAN YU on 7 May 2020 at 5:19
How can I calculate a P value using a permutation test for these 2 groups?
controlA=[0.22, -0.87, -2.39, -1.79, 0.37, -1.54, 1.28, -0.31, -0.74, 1.72, 0.38, -0.17, -0.62, -1.10, 0.30, 0.15, 2.30, 0.19, -0.50, -0.09];
treatmentA=[-5.13, -2.19, -2.43, -3.83, 0.50, -3.25, 4.32, 1.63, 5.18, -0.43, 7.11, 4.87, -3.10, -5.81, 3.76, 6.31, 2.58, 0.07, 5.76, 3.50];
I know that both samples come from the same distribution.
thanks

#### 0 Comments

Sign in to comment.

### Answers (2)

Star Strider on 11 Jan 2020
In MATLAB, use the ranksum function.
For your data:
p =
0.350702223666955
h =
0
stats =
zval: -0.933228071880792
ranksum: 375
So the ‘p’ value indicates that they are not significantly different, and ‘h’ indicates that the null hypothesis is not rejected.

#### 3 Comments

noa goldman on 11 Jan 2020
Thank you very much, but you calculated it using the Wilcoxon test and I have to program it using the permutation test.
Star Strider on 11 Jan 2020
I have never heard of the ’permutation test’. When I did an Interweb search on it, the Wilcoxon rank-sum test came up in several examples. That is the reason I use it here.
BINNAN YU on 7 May 2020 at 5:19
permutation test is equivalent to wilcoxon rank-sum test, but two are different test

Sign in to comment.

Jeff Miller on 12 Jan 2020
This contribution on file exchange looks like it will do what you want.

#### 0 Comments

Sign in to comment.

Sign in to answer this question.