Регрессия в R (против Eviews)
Когда вы делаете регресс в Eviews, вы получаете панель статистики, подобную этой:
Есть ли способ в R, где я могу получить всю / большую часть этой статистики о регрессии в R в одном списке?
2 ответа
Увидеть summary
, который будет производить сводки для большинства классов объекта регрессии.
Например, из help(glm)
:
> clotting <- data.frame(
+ u = c(5,10,15,20,30,40,60,80,100),
+ lot1 = c(118,58,42,35,27,25,21,19,18),
+ lot2 = c(69,35,26,21,18,16,13,12,12))
> summary(glm(lot1 ~ log(u), data = clotting, family = Gamma))
Call:
glm(formula = lot1 ~ log(u), family = Gamma, data = clotting)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.04008 -0.03756 -0.02637 0.02905 0.08641
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0165544 0.0009275 -17.85 4.28e-07 ***
log(u) 0.0153431 0.0004150 36.98 2.75e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for Gamma family taken to be 0.002446059)
Null deviance: 3.51283 on 8 degrees of freedom
Residual deviance: 0.01673 on 7 degrees of freedom
AIC: 37.99
Number of Fisher Scoring iterations: 3
Большая победа R над программами с графическим интерфейсом, как правило, в том, что выходные данные функций доступны. Так что вы можете сделать:
> s = summary(glm(lot1 ~ log(u), data = clotting, family = Gamma))
> s$coefficients[1,]
Estimate Std. Error t value Pr(>|t|)
-1.655438e-02 9.275466e-04 -1.784749e+01 4.279149e-07
> s$cov.scaled
(Intercept) log(u)
(Intercept) 8.603427e-07 -3.606457e-07
log(u) -3.606457e-07 1.721915e-07
Чтобы получить t и p и все это для параметров или масштабированной ковариационной матрицы. Но всегда читайте документы для сводного метода, чтобы убедиться, что вы получаете то, что, как вы думаете, вы получаете. Иногда вещи в возвращенном объекте могут быть рассчитаны в преобразованных масштабах и представлены в нетрансформированных масштабах при печати объекта.
Обратите внимание, что то, что вы, кажется, показали в качестве примера, является моделью ARIMA, и нет ничего хорошего summary
функция для arima
объекты в R:
> m = arima(lh, order = c(1,0,1))
> summary(m)
Length Class Mode
coef 3 -none- numeric
sigma2 1 -none- numeric
var.coef 9 -none- numeric
mask 3 -none- logical
loglik 1 -none- numeric
aic 1 -none- numeric
arma 7 -none- numeric
residuals 48 ts numeric
call 3 -none- call
series 1 -none- character
code 1 -none- numeric
n.cond 1 -none- numeric
model 10 -none- list
это просто сводка по умолчанию для объекта списка с этими элементами. Простая печать дает вам несколько вещей:
> m
Call:
arima(x = lh, order = c(1, 0, 1))
Coefficients:
ar1 ma1 intercept
0.4522 0.1982 2.4101
s.e. 0.1769 0.1705 0.1358
sigma^2 estimated as 0.1923: log likelihood = -28.76, aic = 65.52
Если т твой lm
Модель, просто сделайте: summary(m)
чтобы получить всю эту статистику модели и цифры.