| |
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: RE: generating new vars from old by cutting off a portion off the old
From |
"Michael S. Hanson" <[email protected]> |
To |
[email protected] |
Subject |
Re: st: RE: generating new vars from old by cutting off a portion off the old |
Date |
Mon, 14 May 2007 10:03:21 -0400 |
Actually, given the proposed solution it appears that the worry is not
specifically "about 8", but whether the "State" code (a) always begins
with the 4th character, and (b) always is just 2 characters long.
Depending on the universe of potential values of "oldvar", there may
exist applications of -assert- that can check these desired conditions.
However, notice that the currently proposed application of -substr-
should work as intended on values such as "CITNA34", "CITNA034", and
"CITNA0340", but will fail on "CINA134" and the like.
Hope this helps.
-- Mike
On May 14, 2007, at 4:05 AM, Nick Cox wrote:
Nevertheless, your description "about 8" is worrying.
In any observations that have some other number
of characters, this solution may be incorrect. Try
. assert length(oldvar) == 8
Nick
[email protected]
[email protected]
That worked beautifully, thank you. Just saved me five hours
of banging
my head against the wall.
Try
gen str State = substr(oldvar,4,2)
This assumes that your original variable was string.
[email protected]
I have a variable that has about 8 characters per observation and I
need to take 2 characters (4th and 5th characters) and generate them
as new variables representing state codes. So for example, the
variable has as one of its value CITNA134. The characters I need to
extract are NA, which will be recoded as State code. How would I go
about doing this?
*
* 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/