Date: Fri, 6 Jun 2003 14:31:29 -0500
Reply-To: "Marks, Jim" <Jim.Marks@lodgenet.com>
Sender: "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From: "Marks, Jim" <Jim.Marks@lodgenet.com>
Subject: Re: Syntax shortcut help
Content-Type: text/plain; charset="iso-8859-1"
Jim:
VECTOR plus LOOP will do it:
** sample data.
DATA LIST LIST /place month.
BEGIN DATA
2 3
1 4
2 2
3 1
2 4
END DATA.
VECTOR plamon(4f8.0).
LOOP #i = 1 to 4.
COMPUTE plamon(#i) = 0.
IF month = (#i) plamon(#i) = place.
END LOOP.
EXE.
VECTOR will create the variables (playmon1 to playmon4) and process each one through the LOOP in this example. The first number in the VECTOR command indicates the number of new variables to be created; the LOOP command should match.
Make sure that the "root" variable names for your other variables don't have more than 6 characters-- otherwise you get illegal names with two digit numbers.
Cheers
Jim Marks
Senior Market Analyst
LodgeNet Entertainment Corporation
-----Original Message-----
From: Rosenthal, James A [mailto:jimar@ou.edu]
Sent: Friday, June 06, 2003 1:53 PM
To: SPSSX-L@LISTSERV.UGA.EDU
Subject: Syntax shortcut help
Dear SPSSX user:
Am interested to know whether SPPS has any syntax "short-cut" that could be
applied in the following or similar situation. Suppose I have two
variables:
PLACE = type of placement (1 = foster home 2 = group home 3 = etc)
MONTH = month of placement 1= first month, 2 = second, 3 = third, etc)
Suppose that placement can occur in any of four months. My goal is to
create four new variables -- PLAMON1, PLAMON2, PLAMON3, PLAMON4 - that will
take on the value of PLACE if the placement occurs in the appropriate month.
So, suppose I have this data:
PLACE MONTH
2 3
1 4
2 2
3 1
2 4
the following new variables with the following values need to be created for
each case:
for the first case, PLAMON3 with the value 2
for the second case, PLAMON4 with the value 1
for the third case, PLAMON2 with the value 2
for the fourth case, PLAMON1 with the value 3
for the fifth case, PLAMON4 with the value 2
The following code will implement the above:
if MONTH = 1 PLAMON1 = PLACE.
if MONTH = 2 PLAMON2 = PLACE.
if MONTH = 3 PLAMON3 = PLACE.
if MONTH = 4 PLAMON4 = PLACE.
Is there some short-cut way to implement this code, perhaps with "do loop -
end loop" or something like this? In the example here, there are only
fourth months but in reality I have about 40 months and need to implement
similar logic for about 10 variables. So, if there is a short-cut that
would be great.
Many thanks for looking at this and for any help you may be able to provide.
Jim
James A. Rosenthal, Ph.D.
Professor
University of Oklahoma
School of Social Work
1005 Jenkins Ave.
Norman, OK 73019
phone: 405-325-1401
fax: 405-325-7072
e-mail: jimar@ou.edu