sasLM-package | R Documentation |

This is a core implementation of 'SAS' procedures for linear models - GLM, REG, and ANOVA. Some packages provide type II and type III SS. However, the results of nested and complex designs are often different from those of 'SAS'. Different results does not necessarily mean incorrectness. However, many wants the same results to 'SAS'. This package aims to achieve that. Reference: Littell RC, Stroup WW, Freund RJ (2002, ISBN:0-471-22174-0).

This will serve those who want SAS PROC GLM, REG, and ANOVA in R.

Kyun-Seop Bae k@acr.kr

## SAS PROC GLM Script for Typical Bioequivalence Data # PROC GLM DATA=BEdata; # CLASS SEQ SUBJ PRD TRT; # MODEL LNCMAX = SEQ SUBJ(SEQ) PRD TRT; # RANDOM SUBJ(SEQ)/TEST; # LSMEANS TRT / DIFF=CONTROL("R") CL ALPHA=0.1; # ODS OUTPUT LSMeanDiffCL=LSMD; # DATA LSMD; SET LSMD; # PE = EXP(DIFFERENCE); # LL = EXP(LowerCL); # UL = EXP(UpperCL); # PROC PRINT DATA=LSMD; RUN; ## ## SAS PROC GLM equivalent BEdata = af(BEdata, c("SEQ", "SUBJ", "PRD", "TRT")) # Columns as factor formula1 = log(CMAX) ~ SEQ/SUBJ + PRD + TRT # Model GLM(formula1, BEdata) # ANOVA tables of Type I, II, III SS EMS(formula1, BEdata) # EMS table T3test(formula1, BEdata, Error="SEQ:SUBJ") # Hypothesis test ci0 = CIest(formula1, BEdata, "TRT", c(-1, 1), 0.90) # 90$ CI exp(ci0[, c("Estimate", "Lower CL", "Upper CL")]) # 90% CI of GMR ## 'nlme' or SAS PROC MIXED is preferred for an unbalanced case ## SAS PROC MIXED equivalent # require(nlme) # Result = lme(log(CMAX) ~ SEQ + PRD + TRT, random=~1|SUBJ, data=BEdata) # summary(Result) # VarCorr(Result) # ci = intervals(Result, 0.90) ; ci # exp(ci$fixed["TRTT",]) ##

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.