This statement is not a definition, but background
comment. My point was that I cannot help if you
don't trust your own code, as I don't know exactly
what you are trying to calculate.
My code offers one simplification of your code.
gen distress = max(h3sp5, h3sp6, rr_h3sp7, h3sp8, h3sp9, h3sp10,
rr_h3sp11, h3sp12, h3sp13) - 1
may even be right. I can't offer a shorter solution.
My guess is that you don't need any Stata emulation
of SAS arrays to solve your problem.
Nick
[email protected]
Winfred Avogo
> Thanks for assisting Nick.
>
> My definition of DISTRESS comprises the nine variables outlined asking
> adolescents a series of questions bothering on psychological distress
> during the last seven days, e.g. things that bothered them,
> inability to
> shake off blues, difficulty concentrating and being depressed.
>
> I have reviewed the link on Array but seem not to understand it as it
> applies to what I am trying to do. Could it be simplified?
Nick Cox
> Not being aware of your definition of DISTRESS I can't offer
> any checks here.
> gen distress = .
> replace distress = max(h3sp5, h3sp6, rr_h3sp7, h3sp8, h3sp9, h3sp10,
> rr_h3sp11, h3sp12, h3sp13) - 1
>
> looks like one equivalent of your code.
>
> See also
> http://www.stata.com/support/faqs/data/arrays.html
>
> Nick
> [email protected]
>
> Winfred Avogo (modulo deprecated HTML, etc.)
>
> I am working on Add health data in Stata 9 and wish to create a single
> measure of DISTRESS using 9 identified variables all on a
> scale of 0-3.
> I have tried Stata's -generate- and
> -replace- command below but did not trust the results I obtained.
>
> generate distress=.
> replace distress=1 if
> h3sp5==0|h3sp6==0|rr_h3sp7==0|h3sp8==0|h3sp9==0|h3sp10==0|rr_h
> 3sp11==0|h
> 3sp12==0|h3sp13==0
> replace distress=2 if
> h3sp5==1|h3sp6==1|rr_h3sp7==1|h3sp8==1|h3sp9==1|h3sp10==1|rr_h
> 3sp11==1|h
> 3sp12==1|h3sp13==1
> replace distress=3 if
> h3sp5==2|h3sp6==2|rr_h3sp7==2|h3sp8==2|h3sp9==2|h3sp10==2|rr_h
> 3sp11==2|h
> 3sp12==2|h3sp13==2
> replace distress=4 if
> h3sp5==3|h3sp6==3|rr_h3sp7==3|h3sp8==3|h3sp9==3|h3sp10==3|rr_h
> 3sp11==3|h
> 3sp12==3|h3sp13==3
>
> I would be happy if I could obtain assistance to do this more
> efficiently. Will array code in Stata like is done in SAS be
> appropriate
> here.
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/