Z score to p values
Afficher commentaires plus anciens
I have a large matrix 1xN containing z values. I would like to know how to turn these z scores to p values using normcdf function?
How to obtain p values both for one-tailed and two-tailed p values using normcdf?
Many thanks in advance!
Réponse acceptée
Plus de réponses (1)
Ziwei Liu
le 18 Août 2023
1 vote
Two-tailed p value should actually be 2 * (1 - normcdf(z)).
normcdf(z) gives the area under curve on the left side of z. This is not p value. One-tailed p value should be the area on the right side, which is (1 - normcdf(z)).Two-tailed p value should be the double of that.
You can use the arrayfun function to compute p value for each entry in your z score matrix. i.e. p = arrayfun(@(x) 2*(1-normcdf(x)), ZScoreMatrix).
1 commentaire
For this to work with negative z scores, you also need to take the absolute value of z:
z = [-2.58 -1.96 -1.65 0 1.65 1.96 2.58]; % vector of z scores
p = 2 * (1 - normcdf(abs(z))); % vector of associated pvalues
disp([z' p'])
Catégories
En savoir plus sur Descriptive Statistics dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!