首页 > 解决方案 > 在 R 中复制 SAS glm

问题描述

我正在处理的问题陈述是我必须为实验设置生成回归模型,其中我有一个治疗组和对照组,两组中的成员数量相同。我能够在 SAS 中轻松做到这一点。因变量是连续的,自变量分别有 2 个水平 0 和 1,分别用于控制和治疗,并且也有一些协变量。我想为我的自变量获取不同类别的 lsmeans。然后,我试图在 R 中复制 sas glm 模型。 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")

这给了我与 SAS 相同的 lsmeans。但是我还需要在这里做什么才能获得上述输出

标签: rsasregression

解决方案


尝试这个emmeans(model, pairwise ~ Independent variable 1:Independent variable2)


推荐阅读