Dealing with NaNs in corr function (upper/lower triangles of matrices with same dimension)
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
the cyclist
2023년 11월 7일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!