How can I do multiple regression (i = 1:15) in a loop?

I got a matrix A (1x15) with each cell containing 524 x 4 of data, and a Y matrix containing 524 x1 data. I was going for :
For i = 1:15
mdl{i} = LinearModel.fit(A{1,i},Y)
end
but it didn't work
Thanks in advance!

댓글 수: 3

Any error message?
Simon
Simon 2013년 5월 28일
It seems to work but i end up having a 1x15 matrix of mdl, but all cells are empty... it's weird
Simon
Simon 2013년 5월 28일
No error message :/

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

 채택된 답변

the cyclist
the cyclist 2013년 5월 28일

0 개 추천

This worked for me:
% Some pretend data
A = cell(1,15);
for i=1:15
A{i} = rand(524,4);
end
Y = rand(524,1);
% Do the fits
for i = 1:15
mdl{i} = LinearModel.fit(A{1,i},Y);
end

댓글 수: 6

Simon
Simon 2013년 5월 28일
Yes it worked but i always end up with a 1x15 matrix of answer but empty, it is kind of weird.
Strange. I get model results in each cell of mdl, as expected. I am using R2013a on a Mac [OSX 10.8.3].
Simon
Simon 2013년 5월 29일
I'm using R2012a on a PC(x64)but still
Simon
Simon 2013년 5월 29일
I mostly need the r squared, p value t-test and fisher. Is there a way to gather these without having to use mdl?
If the code I posted is giving completely empty results, I suggest you file a bug report.
An alternative to using LinearModel.fit is the regress() command.
Simon
Simon 2013년 5월 30일
I might report it eventually but i found out that this particular function generate an object and apparently i'm not supposed to have many objects in a single matrix. I manage to gather the Rsquared using Varname.Rsquared.Adjusted so that only answers pop out in a (1,15) matrix. The only problem i have here is that i don't have the combination variable names anymore and that might cause problem... If i try with 50 variables i won't be able to understand the answer! Thank you!!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Descriptive Statistics and Insights에 대해 자세히 알아보기

질문:

2013년 5월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by