Dealing with NaNs in corr function (upper/lower triangles of matrices with same dimension)
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
julian gaviria
am 7 Nov. 2023
Kommentiert: the cyclist
am 14 Nov. 2023
The correlation coeficients of the upper and lower parts of matrices A,B (see attachment) yield "NaNs
nn=374;
temp= ~eye (nn);
ii_all_conn = find(temp>0);
ii_uptri_conn = find(triu(temp,1)> 0);
ii_lotri_conn = find(tril(temp,-1)> 0);
% Corr plots up entries
figure, plot(A(ii_uptri_conn), B(ii_uptri_conn),'o'), grid on, xlabel('A'), ylabel('B');
[r,p]= corr(A(ii_uptri_conn), B(ii_uptri_conn));
title(['Upper connections - r = ' num2str(r) ' (p ' num2str(p) ')']);
%Corr plots low entries
figure, plot(A(ii_lotri_conn), B(ii_lotri_conn),'o'), grid on, xlabel('A'), ylabel('B');
[r,p]= corr(A(ii_lotri_conn), B(ii_lotri_conn));
title(['Lower connections - r = ' num2str(r) ' (p ' num2str(p) ')']);
How can I modify the code to skip the NaN values in both matrices?
My code works (i.e., it yields person and p-values) when matrices A,B do not have NaNs.
0 Kommentare
Akzeptierte Antwort
the cyclist
am 7 Nov. 2023
The documentation page for the corr function describes how to use the "Row" name-value parameter to decide how to deal with missing data.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!