2016-06-21 2 views
-4

У меня есть линейная модель Я бы хотел запускать еженедельно с обновленными данными, а затем извлекать и печатать коэффициенты оценки вместе с названиями. Например:Как получить оценочные значения в lm?

data <- mtcars 
fit <- lm(mpg ~ cyl + disp + hp, data = data) 
summary(fit) 

Call: 
lm(formula = mpg ~ cyl + disp + hp, data = data) 

Residuals: 
    Min   1Q  Median   3Q  Max 
-4.0888899 -2.0845357 -0.7744705 1.3971991 6.9183052 

Coefficients: 
      Estimate Std. Error t value   Pr(>|t|)  
(Intercept) 34.18491917 2.59077758 13.19485 0.00000000000015372 *** 
cyl   -1.22741994 0.79727631 -1.53952   0.134904  
disp  -0.01883809 0.01040369 -1.81071   0.080929 . 
hp   -0.01467933 0.01465087 -1.00194   0.324952  

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 3.055261 on 28 degrees of freedom 
Multiple R-squared: 0.7678877, Adjusted R-squared: 0.7430186 
F-statistic: 30.8771 on 3 and 28 DF, p-value: 0.000000005053802 

Моя конечная цель будет выводить что-то вроде ниже на CSV (или подобный) файл.

(Intercept) 34.18491917 
cyl   -1.22741994  
disp  -0.01883809 
hp   -0.01467933 

Есть ли какой-либо простой способ доступа к данным в подгонке, или это нужно сделать вручную?

+0

Read помощь ("Коэф"). Это связано с помощью («lm»). – Roland

ответ

4

Вы можете использовать либо fit$coefficients, либо coef(fit).

+1

Преимущество 'coef()' заключается в том, что он будет невосприимчив к любым изменениям в структуре базовых объектов модели. – joran

0

Для доступа коэффициентов:

fit$coefficients 
Смежные вопросы