【问题标题】:Change Stata code to R将Stata代码更改为R
【发布时间】:2018-06-15 14:48:48
【问题描述】:

我需要使用 R 修复逻辑回归模型。这是 Stata 代码:

melogit num, binomial(varsum) 

我在 R 中尝试了一个代码,但结果不同。这是我在 R 中的代码。

summary(glm(cbind(num,nonum) ~ -1 + varsum, family = binomial("logit")))

Stata 的输出

Logistic regression                             Number of obs     =         18
Binomial variable:         vsum

                                                Wald chi2(0)      =          .
Log likelihood = -26.242541                     Prob > chi2       =          .
------------------------------------------------------------------------------
         num |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       _cons |  -1.170071   .2202982    -5.31   0.000    -1.601848   -.7382947
------------------------------------------------------------------------------

来自 R

Call:
glm(formula = cbind(num, nonum) ~ vsum - 1, family = binomial("logit"))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-13.5137   -3.9972   -0.7592    2.8821   10.7677  

Coefficients:
   Estimate Std. Error z value Pr(>|z|)    
vsum -0.82854    0.03839  -21.58   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 3198.67  on 18  degrees of freedom
Residual deviance:  673.14  on 17  degrees of freedom
AIC: 704.92

Number of Fisher Scoring iterations: 7

这些是数据:

num = c(0,1,2,0,5,1,1,1,1,1,0,0,3,6,0,0,1,4) 

nonum = c(116,43,206,130,146,97,173,73,96,112,66,70,185,181,118,252,344,60) 

varsum = c(3,4,11,7,11,5,4,3,20,3,7,1,8,17,0,1,4,5)

【问题讨论】:

  • “但结果不一样” 他们有什么不同?请分享您的数据,并包括 Stata 和 R 输出。
  • 这些是数据 num = c(0,1,2,0,5,1,1,1,1,1,0,0,3,6,0,0,1,4 ) nonum = c(116,43,206,130,146,97,173,73,96,112,66,70,185,181,118,252,344,60) varsum = c(3,4,11,7,11,5,4,3,20,3,7,1,8 ,17,0,1,4,5)
  • 使用edit按钮修改您的帖子;不要将代码或关键细节放在 cmets 中。这使得它非常难以阅读。仍然缺少 Stata 和 R 输出...
  • 好的,我把这些放在帖子里了。

标签: r stata logistic-regression


【解决方案1】:

您正在拟合两种不同的模型。

首先,melogit 定义了一个多级混合效应逻辑回归模型,而glm(..., family = binomial("logit")) 适合一个简单的逻辑回归模型。

我不熟悉 Stata,但快速搜索表明可以使用 glm 结合 link(logit) family(binomial) robust 选项来估计具有比例数据的等效逻辑回归模型。

【讨论】:

  • 这是我的问题,如何在 R 中进行多级混合效应逻辑回归。
  • @user9484716 你的问题根本不清楚!你在主帖中没有提到混合效果模型。这使它成为一个非常不同的问题。您可以使用例如在 R 中实现混合效果模型。 R 包lme4。有很多公开可用的lme4 教程,我建议花一些时间研究一下。 SO 不是代码编写服务; 您付出了相当大的努力之后,社区很乐意为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多