T-test on correlation coefficients from 2 samples

10 views (last 30 days)
Hi all,
I have two 360x360 matrices from two different samples. I am trying to run a ttest on each entry in one matrix with the corresponding entry in the other matrix, so (1,2) with (1,2) and (4,3) with (4,3) for example. This is the code that I currently have:
for i=1:360
for j=1:360
[h_cm(i,j),p_cm(i,j)] = ttest2(cm(i,j),control(i,j));
end
end
As you can see, I am using a for loop. However, the output tables for h_cm and p_cm are populated with NaNs. Can anyone see where I'm going wrong?
  3 Comments
Dinal Jayasekera
Dinal Jayasekera on 2 Jul 2019
Yes I do want to do an element by element comparison within a matrix. Is there another MATLAB function that might be better suited for this?
The data from each matrix has already been averaged from 5 data sets if that helps.
dpb
dpb on 2 Jul 2019
Edited: dpb on 2 Jul 2019
Well, you can't compute the test statistic without the underlying data -- you'll have to back up a step to the point before you did the averaging--or you could compute the t statistic from the sample means and standard deviations, but there's not a builtin ML function that does the computation that way; only from the population samples. So, you'll have to write it yourself altho it isn't at all a difficult calculation, just not pre-packaged solution.

Sign in to comment.

Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!