我现在正在使用R进行逻辑回归,但是似乎无法得到许多有用的模型拟合统计信息。我正在寻找类似于SAS的指标:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
有人知道我可以使用哪些软件包来提取这些统计数据吗?
谢谢。
我现在正在使用R进行逻辑回归,但是似乎无法得到许多有用的模型拟合统计信息。我正在寻找类似于SAS的指标:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
有人知道我可以使用哪些软件包来提取这些统计数据吗?
谢谢。
## from ?glm:
d.AD <- data.frame(counts=c(18,17,15,20,10,20,25,13,12),
outcome=gl(3,1,9),
treatment=gl(3,3))
glm.D93 <- glm(counts ~ outcome + treatment,data = d.AD, family=poisson())
update
命令中的公式.~1
表示“重新拟合具有相同响应变量的模型[由左手边波浪线上的点表示],但只有一个截距项[由右手边波浪线上的1
表示]”。glmsumfun <- function(model) {
glm0 <- update(model,.~1) ## refit with intercept only
## apply built-in logLik (log-likelihood), AIC,
## BIC (Bayesian/Schwarz Information Criterion) functions
## to models with and without intercept ('model' and 'glm0');
## combine the results in a two-column matrix with appropriate
## row and column names
matrix(c(logLik(glm.D93),BIC(glm.D93),AIC(glm.D93),
logLik(glm0),BIC(glm0),AIC(glm0)),ncol=2,
dimnames=list(c("logLik","SC","AIC"),c("full","intercept_only")))
}
glmsumfun(glm.D93)
full intercept_only
logLik -23.38066 -26.10681
SC 57.74744 54.41085
AIC 56.76132 54.21362
编辑:
anova(glm.D93,test="Chisq")
方法提供了一个顺序的差异分析表,其中包含df、偏差(=-2对数似然值)、剩余df、剩余偏差和似然比检验(卡方检验)的p值。drop1(glm.D93)
方法提供了每个单项删除的AIC值(df、偏差等),drop1(glm.D93,test="Chisq")
方法还提供了LRT检验p值。glm
函数是最常用的函数。因素对比的默认处理方式不同。R使用treatment对比,而SAS则使用sum对比。你可以在R-help上查找这些技术问题。在过去的十年中,它们已经被讨论了很多次。lrm
。它有一个优点,就是被'rms'方法套件中的其他几个函数支持。我也会使用它,但学习rms包可能需要额外的时间。我没有看到可以创建类似SAS输出的选项。options(contrasts=c("contr.SAS", "contr.poly"))
来获得类似SAS的行为。 - Hong Ooirms
包中的lrm
函数可能会给您所需的输出结果。