我现在正在使用R运行逻辑回归,但我似乎无法获得许多有用的模型拟合统计信息。我正在寻找类似于SASS的指标:
http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm
有谁知道我可以用什么(或用什么包)来提取这些统计数据?
由于
答案 0 :(得分:5)
当然,带有family =“binomial”参数的glm
是最常用于逻辑回归的函数。对比因素的默认处理是不同的。 R使用治疗对比,SAS(我认为)使用总和对比。您可以在R-help上查看这些技术问题。在过去的十多年里,他们已经多次讨论过。
我看到Greg Snow在'rms'中提到了lrm
。它的优势在于“rms”方法套件中的其他几个函数的支持。我也会使用它,但学习rms包可能需要一些额外的时间。我没有看到可以创建类似SAS的输出的选项。
如果您想比较类似问题的包,那么UCLA StatComputing页面有另一个资源:http://www.ats.ucla.edu/stat/r/dae/default.htm,其中SPSS,SAS,Stata和R中有大量方法。
答案 1 :(得分:5)
这是一个泊松回归的例子:
## 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())
现在定义一个函数以使具有相同响应,族等的仅拦截模型适合,计算汇总统计信息,并将它们组合成表(矩阵)。下面.~1
命令中的公式update
表示“使用相同的响应变量[由波浪号的LHS上的点表示]重新构建模型,但只有一个截距项[由{{表示] 1}}关于代字号的RHS]“
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
给出了包含df,偏差(= -2对数似然),残差df,残差偏差和似然比检验(卡方检验)的偏差表的顺序分析) p -value。anova(glm.D93,test="Chisq")
给出一个表格,其中包含每个单项删除的AIC值(df,deviances等); drop1(glm.D93)
另外提供LRT测试 p 值。答案 2 :(得分:2)
使用lrm
包中的rms
函数可以为您提供所需的输出。