Воссоздать таблицу регрессии spss GEE в R

У меня есть (образец) набор данных ниже:

round<-c( 0.125150,  0.045800, -0.955299, -0.232007,  0.120880, -0.041525,  0.290473, -0.648752,  0.113264, -0.403685)
    square<-c(-0.634753,  0.000492, -0.178591, -0.202462, -0.592054, -0.583173, -0.632375, -0.176673, -0.680557, -0.062127)
    ideo<-c(0,1,0,1,0,1,0,0,1,1)
    ex<-data.frame(round,square,ideo)

Когда я запустил регрессию GEE в SPSS, я взял эту таблицу в результате. введите описание изображения здесь

Я использовал пакеты gee а также geepack в R запустить тот же анализ, и я взял эти результаты:

#gee
summary(gee(ideo ~ square + round,data = ex, id = ideo,
    corstr = "independence"))
Coefficients:
            Estimate Naive S.E. Naive z Robust S.E. Robust z
(Intercept)   1.0541     0.4099   2.572      0.1328    7.937
square        1.1811     0.8321   1.419      0.4095    2.884
round         0.7072     0.5670   1.247      0.1593    4.439

#geepack
summary(geeglm(ideo ~ square + round,data = ex, id = ideo,
            corstr = "independence"))
Coefficients:
            Estimate Std.err  Wald Pr(>|W|)    
(Intercept)    1.054   0.133 63.00  2.1e-15 ***
square         1.181   0.410  8.32   0.0039 ** 
round          0.707   0.159 19.70  9.0e-06 ***
---

Я хотел бы воссоздать именно таблицу SPSS(а не результаты, поскольку я использую подмножество исходного набора данных), но я не знаю, как добиться всех этих результатов.

1 ответ

Решение

Чуть-чуть tidyverse магия может получить те же результаты - более или менее.

Получить информацию от coef(summary(geeglm())) и вычислить необходимые столбцы:

library("tidyverse")
library("geepack")

coef(summary(geeglm(ideo ~ square + round,data = ex, id = ideo,
           corstr = "independence"))) %>% 
mutate(lowerWald = Estimate-1.96*Std.err, # Lower Wald CI
       upperWald=Estimate+1.96*Std.err,   # Upper Wald CI
       df=1, 
       ExpBeta = exp(Estimate)) %>%       # Transformed estimate
mutate(lWald=exp(lowerWald),              # Upper transformed
       uWald=exp(upperWald))              # Lower transformed

Это производит следующее (с данными, которые вы предоставили). Порядок и имена столбцов могут быть изменены в соответствии с вашими потребностями

  Estimate Std.err   Wald  Pr(>|W|) lowerWald upperWald df ExpBeta lWald uWald
1   1.0541  0.1328 62.997 2.109e-15    0.7938     1.314  1   2.869 2.212 3.723
2   1.1811  0.4095  8.318 3.925e-03    0.3784     1.984  1   3.258 1.460 7.270
3   0.7072  0.1593 19.704 9.042e-06    0.3949     1.019  1   2.028 1.484 2.772
Другие вопросы по тегам