Correlation between multiple columns of table
8 views (last 30 days)
Show older comments
Hi guys!
I have a table (see attached) for which I want to calculate corrcoef ([r p]) between multiple columns. Eg. between column 2 and column 6, column 2 and column 7, then column 3 and column 6, column 3 and column 7. The last combination would be column 5 and column 12.
Is there a way to do it a with a loop (or any other way, as a matter of fact) and automatically store the values in a new table so that I don't mix them up?
Thanks in advance!
I'm on Matlab 2019a.
0 Comments
Answers (1)
KSSV
on 18 Jun 2021
iwant = zeros(2,2,[]) ;
count = 0 ;
for r = 2:3
for p = 6:7
count = count+1 ;
iwant(:,:,count) = corrcoef(data(:,r),data(:,p)) ;
end
end
iwant(:,:,count+1) = corrcoef(data(:,5),data(:,12)) ;
3 Comments
KSSV
on 18 Jun 2021
How did you read the file? What I have shown in the code is for a matrix. If you have a table, the indexing differs. You need to use data.(i) etc.
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!