Save coefficients from fitlme function in a table
조회 수: 11 (최근 30일)
이전 댓글 표시
I am running a fixed effects model using the lme function and would like to save the coefficients in a table. I tried the following
coefficient_table = cell2table(cell(0,4), 'VariableNames', {'Estimate', 'SE', 'tStat', 'pValue'});
fe = fitlme(data_table, strcat(var1, '~', var2));
value = fe.Coefficients(2:end, :);
However, class(value) is 'classreg.regr.lmeutils.titleddataset', and not a table. The same problem does not arise when I fit a linear regreression model with fitlm function. Then, the class(value) = table
Ultimately, I want to save all the coefficients in
coefficient_table = [coefficient_table; value];
How can I convert the class of value to a table? Or is there another way to save the coefficients into a table? I'd really appreciate your help.
댓글 수: 0
채택된 답변
Abderrahim. B
2022년 7월 30일
Hi
You need to use dataset2table.
Demo:
load imports-85
tbl = table(X(:,12),X(:,14),X(:,24),'VariableNames',{'Horsepower','CityMPG','EngineType'});
head(tbl, 5)
%
lme = fitlme(tbl,'CityMPG~Horsepower+(1|EngineType)+(Horsepower-1|EngineType)');
% Retrieve and convert to table fitlme coefficients
coef_tbl = dataset2table(lme.Coefficients)
% In case you want to convert Name from cell to categorical.
coef_tbl.Name = categorical(coef_tbl.Name)
Hope this helps
댓글 수: 2
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!