Z score to p values
古いコメントを表示
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!
採用された回答
その他の回答 (1 件)
Ziwei Liu
2023 年 8 月 18 日
1 投票
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 件のコメント
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'])
カテゴリ
ヘルプ センター および File Exchange で Descriptive Statistics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!