[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sas-l
Subject:    Re: How to specify the ESTIMATE statement in PROC MIXED
From:       "Chung Y. Li" <li.chungying () GMAIL ! COM>
Date:       2010-02-26 19:26:47
Message-ID: 651cc8321002261126n181f4276udb70beda92f0b215 () mail ! gmail ! com
[Download RAW message or body]

Robin,

Points well taken.  I'll be individually testing those estimates on
random samples before running them against the larger sets.

Susie

On Fri, Feb 26, 2010 at 2:10 PM, Robin R High <rhigh@unmc.edu> wrote:
> Susie,
>
> I'd be extra careful about running it too carefree, though one can collect
> output stats with multiple runs with the ODS persist option:
>
> ods listing close;
> ods output estimates(persist=proc)=est tests3(persist=proc)=tst3;
>
> proc MIXED data=indat;
> ..
> run;
> proc MIXED data=indat;
> ..
> run;
> proc MIXED data=indat;
> ..
> run;
>
> ods output close;
>
> ods listing;
>
> proc print data=est; run;
> proc print data=tst3; run;
>
>
> You would then need to revisit the order ESTIMATE statements in the MIXED
> steps occur to see which sets of output belong to them -- and to make sure
> there are no nasty notes in the log file indicating something didn't work.
>
> Robin High
> UNMC
>
>
>
>
>
>
> From:
> "Chung Y. Li" <li.chungying@GMAIL.COM>
> To:
> SAS-L@LISTSERV.UGA.EDU
> Date:
> 02/26/2010 12:14 PM
> Subject:
> Re: How to specify the ESTIMATE statement in PROC MIXED
> Sent by:
> "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
>
>
>
> Robin and Dale,
>
> Thank you for your help and ideas.  I have learned a great deal from
> your suggestions.
>
> I'm asked to run these estimates in all kinds of combinations and many
> iterations, and wonder if you can suggest some easy way for me to save
> the output estimates/standard errors/p-values automatically to files
> for reporting (probably via ODS)?
>
> Susie
>
>
> On Fri, Feb 26, 2010 at 11:55 AM, Robin R High <rhigh@unmc.edu> wrote:
>> Why would you want to apply GLM when it very likely can't handle the
>> repeated measures covariance nearly as well as MIXED or GLIMMIX?
>>
>> With that in mind, it is helpful to compare the new LSMESTIMATE
> statement
>> with GLIMMIX, that replicates the ESTIMATE statements with less coding
> (in
>> other cases, considerably less):
>>
>> ODS SELECT ESTIMATES LSMESTIMATES;
>>
>> proc GLIMMIX data=modelset;
>> class drug hour patient;
>> model fever=drug|hour / ddfm=kr;
>> RANDOM hour / subject=patient(drug) type=toep RESIDUAL;
>>
>> *--- construct pre (hours 1-4) and post (hour 5-8) period estimates--;
>>
>> * (1) testing pre vs post: drug A;
>> estimate "drug A: (pre-post) difference" hour 1 1 1 1 -1 -1 -1 -1
>> drug*hour 1 1 1 1 -1 -1 -1 -1    0 0 0 0 0 0 0 0  /  divisor=4;
>>
>> * (2) testing pre vs post: drug B;
>> estimate "drug B: (pre-post) difference" hour 1 1 1 1 -1 -1 -1 -1
>> drug*hour 0 0 0 0 0 0 0 0      1 1 1 1 -1 -1 -1 -1 /  divisor=4;
>>
>> * (3) testing pre vs post: drug A vs drug B;
>> * steps to the final result;
>> estimate "1 drug A: pre"       intercept 4 drug 4 0 0 hour 1 1 1 1  0  0
>> 0  0  drug*hour 1 1 1 1   0  0  0  0    0 0 0 0  0 0 0 0 /  divisor=4;
>> estimate "2 drug A: post"      intercept 4 drug 4 0 0 hour 0 0 0 0  1  1
>> 1  1  drug*hour 0 0 0 0   1  1  1  1    0 0 0 0  0 0 0 0 /  divisor=4;
>> estimate "3= 1-2 drug A: pre-post"                    hour 1 1 1 1 -1 -1
> -
>> 1 -1  drug*hour 1 1 1 1  -1 -1 -1 -1    0 0 0 0  0 0 0 0 /  divisor=4;
>> estimate "4 drug B: pre"       intercept 4 drug 0 4 0 hour 1 1 1 1  0  0
>> 0  0  drug*hour 0 0 0 0  0 0 0 0  1 1 1 1   0  0  0  0   /  divisor=4;
>> estimate "5 drug B: post"      intercept 4 drug 0 4 0 hour 0 0 0 0  1  1
>> 1  1  drug*hour 0 0 0 0  0 0 0 0  0 0 0 0   1  1  1  1   /  divisor=4;
>> estimate "6=4-5 drug B: pre-post"                     hour 1 1 1 1 -1 -1
> -
>> 1 -1  drug*hour 0 0 0 0  0 0 0 0  1 1 1 1  -1 -1 -1 -1   /  divisor=4;
>> estimate "7=3-6: drug A vs drug B: (pre-post) difference"      drug*hour
> 1
>> 1 1 1  -1 -1 -1 -1  -1 -1 -1 -1  1 1 1 1/  divisor=8;
>>
>>
>> LSMESTIMATE drug*hour '3 drug A: pre-post' 1 1 1 1  -1 -1 -1 -1    0  0
> 0
>>  0   0  0  0  0 /  divisor=4;
>> LSMESTIMATE drug*hour '6 drug B: pre-post' 0 0 0 0   0  0  0  0    1  1
> 1
>>  1  -1 -1 -1 -1 /  divisor=4;
>> LSMESTIMATE drug*hour '7 drg A  vs drg B: (pre-post) diff' 1 1 1 1  -1
> -1
>> -1 -1   -1 -1 -1 -1   1  1  1  1  /  divisor=8;
>>
>> run;
>>
>> Robin High
>> UNMC
>>
>>
>>
>>
>>
>>
>> From:
>> "Chung Y. Li" <li.chungying@GMAIL.COM>
>> To:
>> SAS-L@LISTSERV.UGA.EDU
>> Date:
>> 02/26/2010 08:58 AM
>> Subject:
>> Re: How to specify the ESTIMATE statement in PROC MIXED
>> Sent by:
>> "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
>>
>>
>>
>> Dale,
>>
>> Thank you.  This is very helpful information.
>>
>> Just out of curiosity, how do I specify these estimates if I were to
>> use PROC GLM instead?
>>
>> Susie
>>
>> On Fri, Feb 26, 2010 at 12:00 AM, Dale McLerran
>> <stringplayer_2@yahoo.com> wrote:
>>> --- On Thu, 2/25/10, Chung Y. Li <li.chungying@GMAIL.COM> wrote:
>>>
>>>> From: Chung Y. Li <li.chungying@GMAIL.COM>
>>>> Subject: Re: How to specify the ESTIMATE statement in PROC MIXED
>>>> To: SAS-L@LISTSERV.UGA.EDU
>>>> Date: Thursday, February 25, 2010, 7:38 PM
>>>> Dale,
>>>>
>>>> Thank you.  The estimate works.
>>>>
>>>> Any idea of suppressing PROC MIXED from printing volumes of
>>>> class
>>>> levels (in this case, patient ID) data?
>>>>
>>>> Susie
>>>>
>>>
>>> You can suppress printing of all of that class information
>>> through the NOCLPRINT option on the PROC statement.  If you
>>> specify
>>>
>>>  proc mixed data=mydata noclprint;
>>>
>>> then no class information is printed.  However, you might want
>>> to see the class levels for variables which appear as effects
>>> but suppress printing of class levels for your subject variable.
>>> For that, you can use the form
>>>
>>>  proc mixed data=mydata noclprint=10;
>>>
>>> or something similar.  Variables which have more than 10 levels
>>> would not appear in the list of levels of class variables.
>>>
>>> Dale
>>>
>>> ---------------------------------------
>>> Dale McLerran
>>> Fred Hutchinson Cancer Research Center
>>> mailto: dmclerra@NO_SPAMfhcrc.org
>>> Ph:  (206) 667-2926
>>> Fax: (206) 667-5977
>>> ---------------------------------------
>>>
>>
>>
>>
>>
>
>
>
>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic