access values in dataset

3 views (last 30 days)
Yuji Zhang
Yuji Zhang on 24 Aug 2014
Answered: Peter Perkins on 2 Sep 2014
hi In the results of lm = LinearModel.fit(x, y)
there is lm.Coefficients containing the coefficient values.
E.g.,
>> lm.Coefficients
ans =
Estimate SE tStat pValue
(Intercept) -17.637 0.4574 -38.558 5.5217e-252
x1 0.0037939 0.00039008 9.726 6.0697e-22
>> get(lm.Coefficients)
ans:
Description: ''
VarDescription: {}
Units: {}
DimNames: {'Observations' 'Variables'}
UserData: []
ObsNames: {2x1 cell}
VarNames: {'Estimate' 'SE' 'tStat' 'pValue'}
How do I access the estimated coefficients? For example -17.637 in the table. Thanks!

Answers (2)

Matz Johansson Bergström
Matz Johansson Bergström on 24 Aug 2014
Edited: Matz Johansson Bergström on 24 Aug 2014
LinearModel is using tables, so you can write
tmp = table2array(Im.Coefficients)
and access tmp.
  1 Comment
Matz Johansson Bergström
Matz Johansson Bergström on 24 Aug 2014
Also, Matlab is warning me that LinearModel will be replaced with fitlm in a future release, see fitlm documentation.

Sign in to comment.


Peter Perkins
Peter Perkins on 2 Sep 2014
Slightly more direct than Mark's suggestion:
Im.Coefficients.Estimates(1)
gets you the estimated intercept as a scalar value.

Tags

Community Treasure Hunt

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

Start Hunting!