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 (April 2008)Back to main SPSSX-L pageJoin or leave SPSSX-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 10 Apr 2008 23:46:04 -0400
Reply-To:   Richard Ristow <wrristow@mindspring.com>
Sender:   "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From:   Richard Ristow <wrristow@mindspring.com>
Subject:   Re: Help with Loop
Comments:   To: Michael Kruger <aa3657@wayne.edu>
In-Reply-To:   <47FEBBE1.8000809@wayne.edu>
Content-Type:   text/plain; charset="us-ascii"; format=flowed

Ah, this helps a lot. At 09:16 PM 4/10/2008, Michael Kruger wrote:

>I have frequency data in two rows ('select if row_no EQ 1 OR row_no >EQ 477 to start with). The row 1 has the control frequencies and row >477 the treatment frequencies. I am running my statistical procedure >on these two rows and then need to increment my syntax statemtn to >read 'row 2 OR row 478', then run the analysis; and so on until I >end with 'select if row_no eq 476 aOR row_no eq 952'.

OK: you're running the same procedure on multiple sets of *cases*.

The most efficient way to do that is with SPLIT FILES, which can run the same procedure over a set of subsets of the cases, in one data pass. (You could also use a macro loop, but it would be MUCH harder to write, and much less efficient.)

This isn't tested, but I think it's in the right direction:

NUMERIC ExptGrp (F5) CaseCtrl (F2). VAL LABELS CaseCtrl 1 'Control' 2 'Treatment'.

DO IF row_no LE 476 /* Control lines */. . COMPUTE ExptGrp = row_no. . COMPUTE CaseCtrl = 1. ELSE /* Treatment lines */. . COMPUTE ExptGrp = row_no - 476. . COMPUTE CaseCtrl = 2. END IF.

SORT CASES BY ExptGrp CaseCtrl. SPLIT FILE BY ExptGrp. <<run statistical procedure>>

===================== To manage your subscription to SPSSX-L, send a message to LISTSERV@LISTSERV.UGA.EDU (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD


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