Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Count the number of changing string values


From   Nick Cox <njcoxstata@gmail.com>
To   "statalist@hsphsun2.harvard.edu" <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Count the number of changing string values
Date   Fri, 14 Jun 2013 10:49:50 +0100

Code that "doesn't work" but is not shown can not be commented on.
Long structure (I prefer to avoid the word "format" here) is not
essential for the problem as I understand it, but it is likely to be
better for you for most analyses.

The year in which people first said "No" is

gen year = .

qui forval j = 1999/2012 {
        replace year = `j' if  Drug`j' == "No" & missing(year)
}

tab year

So,

1. Everybody starts out with missing.

2. If they said "No" in 1999, -year- is changed to 1999

3. If they said "No" in 2000, -year- is changed to 2000, but only if
-year- is missing (so values of 1999 are protected)

and so on.

You didn't explain your datatypes. If -drug*- are numeric variables
with value labels, the syntax will differ accordingly.

Nick
njcoxstata@gmail.com


On 14 June 2013 10:20, Ching Wong <ching.y.wong@student.adelaide.edu.au> wrote:

> I have the following data set:
>
> Id     sex   drug1999   drug2000    drug2001      drug 2001
>
> 1       F       Yes            No          Yes            Unknown
>
> 3       M       No           Yes          Yes             No
>
> 5      F         Yes          Yes          Yes            Yes
>
> 9      M       Unknown    Yes          No             Yes
>
> 10     F        Yes           No           Yes             No
>
> I would like to produce a count of to show the number of people who
> quit each year, only count the first time they quit and do not care if
> they change their status to ‘No’ again.
>
> What would be the command? I tried to change it to the long formal and
> use the lag function, but it doesn’t work.

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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