Репликация SAS glm в R

#r #sas #regression

#r #sas #регрессия

Вопрос:

Постановка задачи, над которой я работаю, заключается в том, что я должен сгенерировать регрессионную модель для экспериментальной установки, где у меня есть группа лечения и контрольная группа, имеющие равное количество членов в обеих группах. Я смог легко сделать это в SAS. Зависимая переменная является непрерывной, а независимая переменная имеет 2 уровня 0 и 1 для контроля и лечения соответственно, а также имеет несколько ковариаций. Я хотел получить lsmeans по разным категориям для моей независимой переменной. Затем я пытался скопировать модель sas glm в R. Код в sas был:

 proc glm data=<dataname>
class <names of categorical variables>
model <dependent variable> = <Independent variable (factor with two 
                            levels)>*<categorical variable (3 groups)> 
                                 <Covariates 1>  <Covariates 2>

/ss3 solution;

    LSMEANS <Independent variable 1>*<Independent variable 2>/
slice = <Independent variable 2> stderr pdiff out= ls_means_1  ;
run ;
  

Я смог разработать аналогичную модель в R. Но у меня возникла проблема с генерацией последнего вывода в SAS, созданного stderr pdiff поскольку я не знаю, как это сделать в R или как SAS генерирует этот вывод:

 
<categorical variable> DF Sum of Squares Mean Square F Value Pr > F 
group1                 1 165.858883     165.858883   26.87  <.0001 
group2                 1 54.831101       54.831101    8.88  0.0029 
group3                 1 60.638963       60.638963    9.82  0.0017 
  

Могу ли я получить некоторую помощь по получению вышеуказанного результата?

Это код, который я использовал в R для репликации вышеупомянутой модели в R.

 library(emmeans)
model=glm(<dependent variable>~<Independent variable>:<categorical variable>  
                       <Covariates 1> <Covariates 2>,data=<dataname>)

summary(model)
sub_cut_lsmean = emmeans(model,specs="categorical variable",by="Independent variable")
  

Это дает мне те же lsmeans, что и в SAS. Но что мне нужно сделать здесь, чтобы также получить вышеуказанный результат

Комментарии:

1. math.furman.edu /~dcs/courses/math47/R/library/car/html/…

Ответ №1:

Попробуйте это emmeans(model, pairwise ~ Independent variable 1:Independent variable2)

Комментарии:

1. Прямое решение приветствуется, но, пожалуйста, убедитесь, что вы добавили контекст вокруг него, чтобы ваши коллеги-пользователи поняли, как это решает проблему

2. Вы можете использовать пары(emmeans(модель, спецификации=’Независимая переменная’, by = ‘категориальная переменная)). Вы получите stderr pdiff на желаемом категориальном уровне вместо всех возможных комбинаций, если вы используете это

3. @KarnDeb пожалуйста, внесите изменения в свой ответ, а не в комментарии.