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 (July 2008, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Mon, 7 Jul 2008 16:42:20 -0500
Reply-To:   "data _null_," <datanull@GMAIL.COM>
Sender:   "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:   "data _null_," <datanull@GMAIL.COM>
Subject:   Re: SET with OBS=0
Comments:   To: Mary <mlhoward@avalon.net>
In-Reply-To:   <0b0a01c8e078$8ecdf9e0$832fa8c0@HP82083701405>
Content-Type:   text/plain; charset=ISO-8859-1

On 7/7/08, Mary <mlhoward@avalon.net> wrote: > > Yes, and that's what I'm doing in handling the count=0 code; attempt to run > it again with a different parameter,

That is not what I was trying to say at all. If I understand you correctly you "macro" loop over the 10,000 "sets/runs" Getting the results one-at-a-time, check the "status" and try again. This seems too loopy and slow to me. Wouldn't it be better to fit the 10,000 "sets/runs" using BY group processing. Then determine which ones did not "fit" and refit those. You still do it programmaticly just not one-at-a-time.

You will avoid 10,000 SQL steps and 10,000 sets and 10,000 logistics.

It sounds somewhat similar to a simulation where Cassell has shown how much faster the BY group approach is compared to macro looping.

The results would be the same but with fewer steps.

>and if that still doesn't get it to > run, then save the model info to a running data set so that I've got all the > ones that finally didn't run together. This means I've got lots of things > in both blocks of code- attempts at reruns if the code did not run, and > saving of model info, in addition to the output of the things that did run > in my block of code if it did work. > > It is legal in many statistical procedures to just not get ODS output on a > procedure even though the procedure worked- such as odds ratios may not be > appropriate for that particular run, and I'm accumulating a final > spreadsheet of data in which that cell would just be blank, and > appropriately so; it isn't an error in the analysis. The trouble is, > normal SAS output for something like a Proc Logistic can be up to 3 pages > long, and therefore 30,000 pages for 10,000 runs, whereas I want just one > row of output for each run, with perhaps 10,000 rows down. Using the macro > If statements in conjunction with ODS can do this, and it is one of the > reasons why so many genetics people are going over to R, because they don't > think only R can do this, but SAS can, so that's why I brought it up in the > SAS vs. R discussion. > > -Mary > ----- Original Message ----- > From: data _null_, > To: Mary > Cc: SAS-L@listserv.uga.edu > Sent: Monday, July 07, 2008 4:13 PM > Subject: Re: Re: SET with OBS=0 > > On 7/7/08, Mary <mlhoward@avalon.net> wrote: > > The problem with the call execute statement is that it is only one thing, > > instead of allowing me to just handle the condition and move on- usually > I'm > > trying to aggregate 10,000 runs or so- I **don't** want to stop just > because > > one didn't work. > > The call execute(endsas) was an example I don't know exactly what you > are trying to do. I am not following the R thread closely and I did > not read your contributions. > > To me it would seem more efficient to fit all 10,000 "runs" using by > group processing. Then examine the "misfits" and refit them using > different parameters then examine the "misfits" and refit those etc.


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