LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (February 2012, week 3)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 21 Feb 2012 10:46:44 -0600
Reply-To:     Robin R High <rhigh@UNMC.EDU>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Robin R High <rhigh@UNMC.EDU>
Subject:      Re: Non-inferiority Study
Comments: To: June Gothberg <jgothberg@YAHOO.COM>
In-Reply-To:  <201202201810.q1K5GaO0011052@wasabi.cc.uga.edu>
Content-Type: text/plain; charset="US-ASCII"

June,

A review of this code can help you work through non-inferiority calculations. PROC TTEST works under the concept of equivalence, but the lower bound can also be used for non-inferiority tests (replicated with PROC MIXED). Also, with more than two class levels, PROC MIXED can compute pvalues for non-inferiority directly from the file of LSMEAN differences.

DATA vnue; lvl = 'Control' ; do id = 1 to 9; y = 15 + rannor(928234); output; end; lvl = '1 venue' ; do id = 1 to 9; y = 12 + rannor(0); output; end; lvl = '2 venue' ; do id = 1 to 9; y = 11 + rannor(0); output; end; RUN;

%let hxL = -3; * the means of ven 1 and ven 2 can be up to 3 units lower than control (need to set this in the context of your data); * change to -4 and observe difference in output;

ods exclude equality conflimits;

PROC TTEST DATA =vnue dist=normal tost(&hxL., 999); * large upper bound -- not needed for non-inf ; WHERE lvl IN ('Control', '1 venue'); CLASS lvl; VAR y; TITLE ; run;

ODS OUTPUT diffs=dfs; ODS SELECT lsmeans covparms tests3; PROC MIXED DATA=vnue ; WHERE lvl IN ('Control', '1 venue'); * remove this WHERE statement and make both comparisons with one run; CLASS lvl; MODEL y = lvl; * if computed 95% lower bound (enter alpha=.10 to get 5% lower interval) is less than your specified non-inferiority limit, then pvalue indicates cannot accept non-inferiority; LSMEANS lvl / diff cl alpha=.10; run;

DATA dfs; SET dfs; NonInfLimit = &hxL. ; tupr = (estimate - NonInfLimit )/stderr; pv_upr= 1-probt(abs(tupr),df); * for non-inferiority test; LowerBound = estimate - ABS(tinv(.05,df))*stderr; * shows how to compute lower bound ; run;

PROC PRINT DATA=dfs NOObs; WHERE _lvl EQ 'Control'; VAR lvl _lvl LowerBound NonInfLimit lower Estimate StdErr DF tupr pv_upr ; FORMAT t: 6.2 pv: pvalue6.4; run;

Robin High UNMC

From: June Gothberg <jgothberg@YAHOO.COM> To: SAS-L@LISTSERV.UGA.EDU Date: 02/20/2012 12:10 PM Subject: Re: Non-inferiority Study Sent by: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>

Thank you for your reply Robin.

I conducted a study using a 3x3 LSD and have two replications of control venue, venue 1, venue 2. So a total of 18 (2 - 3x3) or 9 each. There are more participants, but I am using mean percent as I am measuring at the level of venue. Does this give you enough information?

June


Back to: Top of message | Previous page | Main SAS-L page