Statalist


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

Re: st: Recode non-integers to positive integers


From   Mike Wazowski <mike.wazowski@ymail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Recode non-integers to positive integers
Date   Fri, 21 Aug 2009 23:02:35 -0700 (PDT)

here's a step-by-step code you could modify, assume x is your original variable....

clear
set obs 500
set seed 123
gen x = round(10*runiform()+10,.5)
gen x2 = -x
sort x2
by x2: gen rank=1 if _n==_N
drop x2
sort x
replace rank = sum(rank)

mike




--- On Sat, 8/22/09, Frank Gallo <fjgallo@mac.com> wrote:

> From: Frank Gallo <fjgallo@mac.com>
> Subject: Re: st: Recode non-integers to positive integers
> To: statalist@hsphsun2.harvard.edu
> Date: Saturday, August 22, 2009, 2:33 AM
> Hi Jon,
> 
> Thank you very much for your input.. However, the syntax
> generates new variable values greater than 28. The 28 unique
> values occur many times. What I would like to accomplish,
> for example, is that each time the value 2.87 occurs the new
> variable value would be 1, and so on for the other unique
> values. I apologize if I was not clear in my previous post.
> Thank you.
> 
> Best,
> Frank
> 
> 
> On Aug 21, 2009, at 9:25 PM, John Ataguba wrote:
> 
> Hi Frank,
> 
> There are many possible options.
> 
> Try
> 
> egen newvar=rank(oldvar), unique
> 
> This should work.  Note that the oldvar is the
> variable containing 2.87 to 6.04.  The newvar is a new
> variable you may specify differently to the oldvar.
> 
> I hope this helps.
> 
> Regards
> 
> Jon
> ________________________________
> From: Frank Gallo <fjgallo@mac.com>
> To: statalist@hsphsun2.harvard.edu
> Sent: Friday, 21 August, 2009 18:15:45
> Subject: st: Recode non-integers to positive integers
> 
> Hi All,
> 
> I have a variable that has 28 unique non-integer values,
> which range from 2.87 to 6.04. I would like to recode the
> values to positive integers from 1 to 28 respectively. Is
> there a simpler way instead of "recode old var
> (2.87=1)....(6.04=28), generate(new var)" to accomplish
> this? Thank you.
> 
> Best,
> Frank
> 
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/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/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