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