Obtain rho and pval values from a loop of data measurements

1 view (last 30 days)
Obtain rho and pha values from a loop of data analysis,
I have created a loop to open multiple spreadsheets from different sources pertaining to collected data measurements (diameter and height) and want to obtain Pearson’s rho and pval values after each iteration for each project in a table.
% Nº of projects
n=20;
% Rango diam boxplots(mm)
rango=5;
for i=1:n
%: Readtable project spreadhseets
if i==1
rawTable = readtable('Project 1,'Sheet','ExportResult');
elseif i==2
rawTable = readtable('Project 2','Sheet','ExportResult');
--------------------------------------------------------------------------------------------------------------------------------------------------
else
rawTable = readtable('Project 2','Sheet','ExportResult');
end
x = rawtable.x; %: Column x
y = rawtable.y; %: Column y
% Pearson (preallocating required.%
[rho(i),pval(i)] = corr(x, y, 'type', 'Pearson');
end
The issue that I have is that I have a pop-up message saying that variable ‘I’ changes in size after each iteration and to consider pre-allocating for speed.
I would wish to obtain a n x 2 column (rho and pval) set of data to enable later data analysis without this issue being flagged up in Matlab and to speed the data processing.
Please, note that I have unsuccessfully tried many different combinations looking at support doc and community.
Any help on this will be appreciated.
Thanks.
Cesar

Accepted Answer

VBBV
VBBV on 10 Mar 2022
Edited: VBBV on 10 Mar 2022
[rho(i,:),pval(i,:)] = corr(x, y, 'type', 'Pearson');
  3 Comments
Simon Chan
Simon Chan on 10 Mar 2022
Initialize the variables before the for loop.
rho = zeros(n,1);
rho2 = zeros(n,1);
%.....

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!