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: Need help converting values into factor variable


From   Michael Stewart <michaelstewartresearch@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Need help converting values into factor variable
Date   Sat, 1 Dec 2012 08:01:56 -0500

Thank you nick


On Sat, Dec 1, 2012 at 7:53 AM, Nick Cox <njcoxstata@gmail.com> wrote:
> sum()     create running sum (see -help sum()-)
>
> year != year[_n-1]     year not equal to previous year
>      expression evaluated as 1 if true and 0 if false
>
> see
> FAQ     . . . . . . . . . . . . . . . . . . . . . . .  True and false in Stata
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  N. J. Cox
>         2/03    What is true and false in Stata?
> http://www.stata.com/support/faqs/data-management/true-and-false/
>
> This works also for the _first_ observation for each patient as the
> previous year is then evaluated as missing (which is fine; missing is
> not any of 2009 ... 2012)
>
> inrange(year, 2009, 2012)    year in range 2009 to 2012 (may be
> superfluous if you _don't_ have other years -- but you did not say
> that)
>
> Nick
>
> On Sat, Dec 1, 2012 at 12:44 PM, Michael Stewart
> <michaelstewartresearch@gmail.com> wrote:
>
>> I am trying to decipher the code written by you(sort, I am by no means
>> and stata expert )
>> Can you explain what this code is doing; especially the argument (
>> sum(year != year[_n-1] &
>>> inrange(year, 2009, 2012))
>
> On Sat, Dec 1, 2012 at 7:17 AM, Nick Cox <njcoxstata@gmail.com> wrote:
>
>>> This is not "Statlist"!
>>>
>>> You should show us your code that you tried to get an explanation of
>>> what you are getting wrong.
>>>
>>> bysort patient (year) : gen flag = sum(year != year[_n-1] &
>>> inrange(year, 2009, 2012))
>>> by patient : replace flag = flag[_N]
>>>
>>> Nick
>>>
>>> On Sat, Dec 1, 2012 at 11:55 AM, Michael Stewart
>>> <michaelstewartresearch@gmail.com> wrote:
>>>
>>>> Dear Statlist reader ,
>>>> I am having trouble converting  my values into factor variables and am
>>>> looking for help. My data looks as follows where "patientid" is pt
>>>> identification number and "year_elevated" is year in which a
>>>> particular lab value was elevated
>>>>
>>>>
>>>> patientid       year_elevated
>>>> 111             2009
>>>> 111             2009
>>>> 222             2009
>>>> 222             2011
>>>> 222             2012
>>>> 333             2009
>>>> 333             2012
>>>> 444             2011
>>>> 444             2012
>>>> 555             2009
>>>> 555             2010
>>>> 555             2011
>>>> 555             2012
>>>>
>>>> I want to create a factor variable (y  )with values 1= ,2 , 3 and 4
>>>> where  for each distinct patientid
>>>> y=1 if year_elevated  has anyone of ( 2009 or 2010 or 2011 or 2012)  values
>>>> y=2 if year_elevated  has  any two of ( 2009 , 2010 , 2011 ,  2012)  values
>>>> y=3 if year_elevated has  any three of ( 2009 , 2010 , 2011 ,  2012)  values
>>>> y=4 if year_elevated  has  all four of ( 2009 , 2010 , 2011 ,  2012) values
> *
> *   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/



-- 
Thank you ,
Yours Sincerely,
Mike.
*
*   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