Date: Thu, 17 Jun 2004 20:39:45 -0400
Reply-To: Raynald Levesque <rlevesque@videotron.ca>
Sender: "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From: Raynald Levesque <rlevesque@videotron.ca>
Subject: Re: Populate var values that are taken randomly from other
variables
In-Reply-To: <5BA49D8F15EDD41181F3006094B230F8010CA1E3@MAILNN>
Content-type: text/plain; charset=iso-8859-7
Hi Nikos,
Here is one method:
SET SEED=23698532.
INPUT PROGRAM.
SHOW SEED.
VECTOR v(4).
LOOP cnt=1 TO 100.
- LOOP #i=1 TO 4.
- IF UNIFORM(1)>.1 v(#i)=UNIFORM(1).
- END LOOP.
- END CASE.
END LOOP.
END FILE.
END INPUT PROGRAM.
VECTOR var(4) exist(3).
COMPUTE nb=0.
LOOP #cnt=1 TO 4.
- COMPUTE var(#cnt)=v(#cnt).
- DO IF #cnt>1 AND NOT SYSMIS(v(#cnt)).
- COMPUTE nb=nb+1.
- COMPUTE exist(nb)=v(#cnt).
- END IF.
END LOOP.
SET MPRINT=yes.
* allocate a random value.
DO IF SYSMIS(var1).
- COMPUTE var1=exist1.
- COMPUTE draw=UNIFORM(1).
- DO IF nb=2.
- IF draw>.5 var1=exist2.
- ELSE IF RANGE(draw,1/3,2/3).
- COMPUTE var1=exist2.
- ELSE.
- COMPUTE var1=exist3.
- END IF.
END IF.
EXECUTE.
HTH
Raynald Levesque rlevesque@videotron.ca
Visit my SPSS site: http://pages.infinit.net/rlevesqu/
-----Original Message-----
From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU]On Behalf Of
Paparodopoulos, Nikos
Sent: June 17, 2004 5:59 AM
To: SPSSX-L@LISTSERV.UGA.EDU
Subject: Populate var values that are taken randomly from other variables
Dear list,
I would like to replace missing values of a certain variable X1 based on a
random selection of a non-missing value
that may belong to another three or four variables, assuming everything is
on the same case.
Any help would be more than welcome.
Best Regards
Nikos Paparodopoulos