access values in dataset

1 visualizzazione (ultimi 30 giorni)
Yuji Zhang
Yuji Zhang il 24 Ago 2014
Risposto: Peter Perkins il 2 Set 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!

Risposte (2)

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

Accedi per commentare.


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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by