Dealing with NaNs in corr function (upper/lower triangles of matrices with same dimension)

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

the cyclist
the cyclist il 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.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by