how to run multiple number of regressions?

1 Ansicht (letzte 30 Tage)
alpedhuez
alpedhuez am 29 Jul. 2021
Bearbeitet: alpedhuez am 30 Jul. 2021
I have table T with
Date Location Sales Visitors
1/1 NY 10 5
1/1 LA 7 3
1/2 NY 9 5
1/2 LA 4 1
Then I want to run regressions
(sales)=a_i*(visitor)+b_i
for each i = {NY, LA}. Is there any simpler way to do this?

Akzeptierte Antwort

dpb
dpb am 29 Jul. 2021
tRegress=rowfun(@(x,y)polyfit(x,y,1),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Coefficients'});
  3 Kommentare
dpb
dpb am 30 Jul. 2021
tRegress=rowfun(@(x,y)fitlm(x,y,'linear'),T,'GroupingVariables',{'Location'}, ...
'InputVariables',{'Visitors','Sales'}, ...
'NumOutputs',1, ...
'OutputVariableNames',{'Model'}, ...
'OutputFormat',"cell");
If it gets too much more complicated may have to use an m-file for the function instead of anonymous function...also have to switch to a cell output to catenate the model outputs instead of table.
alpedhuez
alpedhuez am 30 Jul. 2021
Bearbeitet: alpedhuez am 30 Jul. 2021
Let me work on it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by