2

I have been trying to convert some PROC MIXED SAS code into R, but without success. The code is:

proc mixed data=rmanova4;
class randomization_arm cancer_type site wk;
model chgpf=randomization_arm cancer_type site wk;
repeated  / subject=study_id;
contrast '12 vs 4' randomization_arm 1 -1;
lsmeans randomization_arm / cl pdiff alpha=0.05;
run;quit;

I have tried something like

mod4 <- lme(chgpf ~ Randomization_Arm  + Cancer_Type + site + wk, data=rmanova.data, random = ~ 1  | Study_ID, na.action=na.exclude)

but I am getting different estimate values.

Perhaps I am misunderstanding something basic. Any comment/suggestion would be greatly appreciated.

(Additional editing)

I am adding here the output. Part of the output from the SAS code is below:

Least Squares Means
Effect  Randomization_Arm   Estimate    Standard Error  DF  t Value Pr > |t|    Alpha   Lower   Upper
Randomization_Arm   12 weekly BTA   -4.5441 1.3163  222 -3.45   0.0007  0.05    -7.1382 -1.9501
Randomization_Arm   4 weekly BTA    -6.4224 1.3143  222 -4.89   <.0001  0.05    -9.0126 -3.8322
Differences of Least Squares Means
Effect  Randomization_Arm   _Randomization_Arm  Estimate    Standard Error  DF  t Value Pr > |t|    Alpha   Lower   Upper
Randomization_Arm   12 weekly BTA   4 weekly BTA    1.8783  1.4774  222 1.27    0.2049  0.05    -1.0332 4.7898

The output from the R code is below:

Linear mixed-effects model fit by REML
  Data: rmanova.data 
       AIC      BIC    logLik
  6522.977 6578.592 -3249.488

Random effects:
 Formula: ~1 | Study_ID
        (Intercept) Residual
StdDev:    16.59143 12.81334

Fixed effects:  chgpf ~ Randomization_Arm + Cancer_Type + site + wk 
                                   Value Std.Error  DF    t-value p-value
(Intercept)                     2.332268  2.314150 539  1.0078294  0.3140
Randomization_Arm4 weekly BTA  -1.708401  2.409444 222 -0.7090435  0.4790
Cancer_TypeProsta              -4.793787  2.560133 222 -1.8724761  0.0625
site2                          -1.492911  3.665674 222 -0.4072678  0.6842
site3                          -4.002252  3.510111 222 -1.1402066  0.2554
site4                         -12.013758  5.746988 222 -2.0904442  0.0377
site5                          -3.823504  4.938590 222 -0.7742097  0.4396
wk2                             0.313863  1.281047 539  0.2450052  0.8065
wk3                            -3.606267  1.329357 539 -2.7127905  0.0069
wk4                            -4.246526  1.345526 539 -3.1560334  0.0017
 Correlation: 
                              (Intr) R_A4wB Cnc_TP site2  site3  site4  site5  wk2    wk3   
Randomization_Arm4 weekly BTA -0.558                                                        
Cancer_TypeProsta             -0.404  0.046                                                 
site2                         -0.257  0.001 -0.087                                          
site3                         -0.238  0.004 -0.163  0.201                                   
site4                         -0.255  0.031  0.151  0.101  0.095                            
site5                         -0.172 -0.016 -0.077  0.139  0.151  0.073                     
wk2                           -0.254 -0.008  0.010  0.011 -0.003  0.005 -0.001              
wk3                           -0.257  0.005  0.020  0.014  0.006 -0.001 -0.002  0.464       
wk4                           -0.251 -0.007  0.022  0.020  0.002  0.006 -0.002  0.461  0.461

Standardized Within-Group Residuals:
       Min         Q1        Med         Q3        Max 
-5.6784364 -0.3796392  0.1050812  0.4588555  3.1055046 

Number of Observations: 771
Number of Groups: 229 

Adding some comments and observations

Since my original posting, I have tried various pieces of R code but I am getting different estimates from those given in SAS. More importantly, the standard errors are almost double than those given by SAS. Any suggestions would be greatly appreciated.

MrFlick
  • 195,160
  • 17
  • 277
  • 295
user20780
  • 31
  • 3
  • Can you show us the results from SAS and from R? Please include them by cutting and pasting text into your question (not with an image/screenshot) – Ben Bolker Sep 19 '22 at 21:47
  • 1
    I suspect but am not sure that the differences will lie in the fixed-effect contrasts/parameterization. Would definitely help to see the output from both programs so we can see what matches & what doesn't ... – Ben Bolker Sep 19 '22 at 21:56
  • I have added the solution at the end of my initial question above! – user20780 Jan 06 '23 at 13:52
  • 1
    Please don't edit your question to add the answer. Instead, post the solution *as an answer* (you are allowed, and indeed encouraged, to post answers to your own questions ....) – Ben Bolker Jan 06 '23 at 14:52

1 Answers1

1

I got the solution to the problem from someone after posting the question at the R-sig-ME. It seems that the above SAS fits actually a simple linear regression model, assuming independent across observations, which is equivalent to

proc glm data=rmanova4; 
 class randomization_arm cancer_type site wk;
 model chgpf = randomization_arm cancer_type site wk;
run;

which of course in R is equivalent to

lm(chgpf ~ Randomization_Arm + Cancer_Type + site + wk, data=rmanova.data)
user20780
  • 31
  • 3