How to compute Intraclass Correlation Coefficient (ICC ) between two adjacency (functional connectivity) matrices?
108 次查看(过去 30 天)
显示 更早的评论
Hi,
I have two adjacency matrices (adj.RS1 & adjRS2) computed as an output of functional connectivity analysis of a test-retest dataset from CONN toolbox. I would like to compute and plot the Intraclass Correlation Coefficient (ICC) to assess test-retest reliability between these two adjacency matrices. Could anyone guide how can I conduct the ICC analysis? Matrices are as given below in the screenshots (matrix 1=adjRS1).
Thanks for your help.
0 个评论
回答(1 个)
Jacob Mathew
2024-4-2
To compute the ICC between 2 matrices, you can utilise the ICC Add On from the “Add On Explorer” in MATLAB. You can find it in the “Home” tab mentioned as “Add-Ons”.
You can find out more about it in the file exchange link below:
A simple demo code demonstrating its usage is as follows:
% Setting Seed
rng(1);
% Generate sample data for adjRS1 and adjRS2
adjRS1 = rand(4, 4, 3); % Random numbers between 0 and 1
adjRS2 = rand(4, 4, 3); % Different set of random numbers
% Ensuring the matrices are symmetric and have zeros on the diagonal
for i = 1:3 % Loop through each subject
for j = 1:4 % Loop through each ROI
adjRS1(j, j, i) = 0;
adjRS2(j, j, i) = 0;
for k = j+1:4
adjRS1(k, j, i) = adjRS1(j, k, i);
adjRS2(k, j, i) = adjRS2(j, k, i);
end
end
end
% Concatenating the data
combinedData = cat(4, adjRS1, adjRS2);
% Reshaping it into 2D based on the subjects
data2D = reshape(combinedData, 4*4, 3*2);
% Calculating the ICC
[r, LB, UB, F, df1, df2, p] = ICC(data2D, '1-1')
The output of the above code is as follows:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Scatter Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!