| 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 |
|
| 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.
|