Logistic回归使用R

问题描述:

我正在运行使用R的逻辑回归,但我似乎无法获得许多有用的模型拟合统计。我在寻找类似的SASS指标:Logistic回归使用R

http://www.ats.ucla.edu/stat/sas/output/sas_logit_output.htm

有谁知道如何(或什么包),我可以用它来提取这些统计数据?

感谢

+0

请注意,还有http://stats.stackexchange。com/ – NPE

+2

不完全重复,我猜,但绝对相关和相关:http://stackoverflow.com/questions/3439248/logistic-regression-in-r-sas-like-output – joran

+0

链接中的所有这些统计数据可用这种或那种方式...你到底在找什么?此外,R有多种回归方式,它们取决于数据如何格式化,以便扩展您的问题与您正在查找的内容,数据样本,甚至是您现在如何进行分析,将提供你有更好的答案你的问题。 – John

这里的泊松回归例子http://www.ats.ucla.edu/stat/r/dae/default.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意味着“用相同的响应变量[用波浪号的LHS上的点表示]改装模型,但仅具有截距项[由波浪号的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 

EDIT

  • anova(glm.D93,test="Chisq")给出顺序分析偏差表中的含DF,偏差(= -2对数似然),残留的DF,残余偏差,并且似然比检验(卡方检验)- 值为
  • drop1(glm.D93)给出了每个单项删除的AIC值(df,deviances等)表; drop1(glm.D93,test="Chisq")另外给出了LRT测试p的值。
+0

你能解释一下这里发生了什么,我对R有点新鲜 – josephmisiti

rms包使用lrm功能可以给你,你正在寻找的输出。

当然glm与家庭=“二项”参数是逻辑回归最常用的函数。对比因素的默认处理方式不同。 R使用治疗对比,SAS(我认为)使用总和对比。你可以在R-help上看到这些技术问题。在过去的十多年里,他们已经讨论了很多次。

我看到Greg Snow在'rms'中提到了lrm。它的优势在于“rms”方法套件中的其他一些功能。我也会使用它,但学习rms包可能需要一些额外的时间。我没有看到可以创建类似SAS的输出的选项。

如果你想包比对UCLA StatComputing页面有其他资源类似的问题:那里有大量的方法,SPSS,SAS,塔塔和R.

例举
+3

其实,SAS也使用治疗的对比;区别在于它将LAST级别作为参考级别,而不是第一级别。你可以通过'options(对比= c(“control.SAS”,“contr.poly”))'在R中得到类似SAS的行为。 –

+0

@洪Doi。感谢您纠正错误。 SPSS是否使用总和对比? –