Obtain rho and pval values from a loop of data measurements

조회 수: 1 (최근 30일)
CB
CB 2022년 3월 10일
댓글: CB 2022년 3월 10일
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

채택된 답변

VBBV
VBBV 2022년 3월 10일
편집: VBBV 2022년 3월 10일
[rho(i,:),pval(i,:)] = corr(x, y, 'type', 'Pearson');
  댓글 수: 3
Simon Chan
Simon Chan 2022년 3월 10일
Initialize the variables before the for loop.
rho = zeros(n,1);
rho2 = zeros(n,1);
%.....
CB
CB 2022년 3월 10일
Hi Simon,
Thank you so much!
Kind regards,
Cesar

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by