fitnlm w/ table using not all Variables

1 view (last 30 days)
I am looking for a way to specify a modelfun for a non linear regression, using fitnlm, without using all Variables of the table. mdl = fitnlm(tbl,modelfun,beta0) Is it somehow possible to specify a modelfun by using the VariableNames of the table including the response variable?
I already performed the regression with a new table, containing the relevant variables only, but i would like to filter the table by other variables and i would like to prevent from double storage of large datasets.
Thanks in advance,

Accepted Answer

Tom Lane
Tom Lane on 13 Dec 2015
You can specify modelfun using variable names:
load carsmall
t = table(MPG,Weight,Origin)
nlm = fitnlm(t,'MPG~b1+b2*Weight^b3',[1 1 1])
In this case the property nlm.Data will contain all the variables in the table, including Origin. However, you could pass in just the part of the table you need:
nlm = fitnlm(t(:,{'MPG' 'Weight'}),'MPG~b1+b2*Weight^b3',[1 1 1])

More Answers (0)

Community Treasure Hunt

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

Start Hunting!