Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Count the number of changing string values
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Count the number of changing string values
Date
Fri, 14 Jun 2013 13:21:11 +0100
Fine. If we
tsset id year
and guess at labels 1 No 2 Yes
then Yes after No the previous year is
gen NY = drug == 2 & L.drug == 1
and years of NY are
gen yearNY = year if NY
Yes after No in _any_ previous year can be done too.
Nick
[email protected]
On 14 June 2013 13:03, Ching Wong <[email protected]> wrote:
> The long dataset is as follows:
>
> id sex year drug
> 1 F 1999 Yes
> 1 F 2000 No
> 1 F 2001 Yes
> 1 F 2002 .
> 3 M 1999 No
> 3 M 2000 Yes
> 3 M 2001 Yes
> 3 M 2002 No
> 5 F 1999 Yes
> 5 F 2000 Yes
> 5 F 2001 Yes
> 5 F 2002 Yes
> 10 M 1999 Yes
> 10 M 2000 No
> 10 M 2001 Yes
> 10 M 2002 No
>
> Thanks.
>
> Ching
>
> On 14 June 2013 21:20, Nick Cox <[email protected]> wrote:
>> Fine. If you tell me what your data are once -reshape-d I will advise.
>>
>> Nick
>> [email protected]
>>
>>
>> On 14 June 2013 12:45, Ching Wong <[email protected]> wrote:
>>> Hi Nick,
>>>
>>> I would like to count "how many times a user said Yes one year and No the next".
>>>
>>> Thanks.
>>>
>>> Ching
>>>
>>> On 14 June 2013 21:11, Nick Cox <[email protected]> wrote:
>>>> I take this to be a new question, but I am unclear what you want. Do you want
>>>>
>>>> 1. Counting how many times a user said Yes one year and No the next?
>>>>
>>>> 2. Identifying the first year in which a user said Yes after
>>>> previously saying No.
>>>>
>>>> I fall back on emphasising my previous advice
>>>>
>>>> Long structure ... is likely to be better for you for most analyses.
>>>>
>>>> Get these data -reshape-d. You are going to want to do lots of
>>>> analyses on different kinds of patterns, and keeping this structure is
>>>> really going to strain any user's Stata fluency.
>>>>
>>>> Nick
>>>> [email protected]
>>>>
>>>>
>>>> On 14 June 2013 12:12, Ching Wong <[email protected]> wrote:
>>>>> Thanks Nick
>>>>>
>>>>> Yes, it's all good if I only need to count the first "NO'.
>>>>>
>>>>> But I would rather to see how to count the first "YES & NO" between
>>>>> year of study.
>>>>>
>>>>> id Drug2009 Drug 2000
>>>>> 1 Yes NO ------->ONE count
>>>>>
>>>>> Regards,
>>>>>
>>>>> Ching
>>>>>
>>>>> On 14 June 2013 20:24, Nick Cox <[email protected]> wrote:
>>>>>> I can't see your value labels from here. But suppose that "No" is a
>>>>>> label for value 1.
>>>>>>
>>>>>> replace year = `j' if Drug`j' == 1 & missing(year)
>>>>>>
>>>>>> I trust that you will be able to modify that to your situation.
>>>>>>
>>>>>>
>>>>>> Nick
>>>>>> [email protected]
>>>>>>
>>>>>>
>>>>>> On 14 June 2013 11:45, Ching Wong <[email protected]> wrote:
>>>>>>> Hi Nick,
>>>>>>>
>>>>>>> So what if -drug*- are numeric variables with value labels, how should
>>>>>>> I change my Command?
>>>>>>>
>>>>>>>
>>>>>>> Thanks!
>>>>>>>
>>>>>>>
>>>>>>> Ching
>>>>>>>
>>>>>>> On 14 June 2013 19:19, Nick Cox <[email protected]> wrote:
>>>>>>>> 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
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>>
>>>>>>>> On 14 June 2013 10:20, Ching Wong <[email protected]> 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/
>>>>>>>
>>>>>>> *
>>>>>>> * 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/
>>>>>>
>>>>>> *
>>>>>> * 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/
>>>>>
>>>>> *
>>>>> * 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/
>>>>
>>>> *
>>>> * 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/
>>>
>>> *
>>> * 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/
>>
>> *
>> * 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/
>
> *
> * 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/
*
* 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/