Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

RE: st: RE: survey completion "flag"


From   Nick Winter <nw53@cornell.edu>
To   statalist@hsphsun2.harvard.edu
Subject   RE: st: RE: survey completion "flag"
Date   Fri, 18 Feb 2005 11:48:03 -0500

Two problems, I think.

First, because whichislast is initialized as missing, max(whichislast, `i') will always return missing.

Second, if the variables numbers have leading zeros (e.g. Q001 rather than Q1), this code won't work.

Here's a version that also makes the resulting variable contain the whole variable name, not just the number:

gen str whichislast = ""
qui forval i = 1/170 {
local j : di %03.0f `i'
replace whichislast = "Q`j'" if Q`j'<.
}




At 09:57 AM 2/18/2005 +0000, you wrote:

gen whichislast = .
qui forval i = 1/170 {
        replace whichislast = max(whichislast, `i') if Q`i' < .
}

Nick
n.j.cox@durham.ac.uk

Marilyn Matevia

> Let me push my luck a little...  If this is the right way to write
> the code (to evaluate which of 170 questions is the last question
> answered):
>
> egen LASTRSP = rlast(Q001-Q170)
>
> ... Is there a way to have it return the variable name (which is the
> question number) instead of the value of the response?

> > Have a look at -egen, rlast()-.

> > > I am a very new user of Stata, so I apologize in advance if this
> is
> > > a dumb question.  I'm still learning how Stata "thinks"
> (compared to
> > > SAS) and can't figure out how to tackle this:
> > >
> > > I have a data set of responses to a very long (170 questions)
> survey
> > > with many nested skip patterns, and about 2200 respondents.
> After
> > > working out the skip codes, I still have many "missing"
> observations
> > > for some items, and figure these are due to incomplete surveys.
> I
> > > want to create some kind of "completion flag" to see which
> > > respondents make it to the end of the survey, and - if they
> don't -
> > > to see which question is the respondent's last (which is
> complicated
> > > by the skip patterns).
> > >
> > > I'm just not coming up with a sensible way to do this in Stata.
> Can
> > > someone point me in the right direction?

*
*   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/
--------------------------------------------------------
Nicholas Winter 607.255.8819 t
Assistant Professor 607.255.4530 f
Department of Government nw53@cornell.edu e
308 White Hall falcon.arts.cornell.edu/nw53 w
Cornell University
Ithaca, NY 14853-4601

*
* 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/




© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index