fitnlm w/ table using not all Variables

1 view (last 30 days)
Hello,
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,
Benedict

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!