Statalist


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

RE: Fwd: st: Data management question


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   RE: Fwd: st: Data management question
Date   Thu, 16 Jul 2009 13:39:15 +0100

Thanks for all the publicity. 

As a footnote, observe that if the issue is counting "X" in values of
-kisses- such as "XX", "XXXXX", etc. then 

gen nkisses = length(kisses) 

will be a more direct and efficient solution so long as no other
characters are observed. -length(trim(kisses))- will protect against
accidental leading and trailing spaces. 

Nick 
n.j.cox@durham.ac.uk 

Susan Olivia

Thanks Tirthankar,

Using Nick Cox's command is way more efficient. My earlier
attempts were very inefficient. 

Tirthankar Chakravarty

> There are probably many ways of doing this, but here is
> way using Nick Cox's -egenmore- (SSC, Nick Winter is
> attributed as the author of the -noccur()- function used
> here) package: 

> clear*
> set obs 100
> g crosses = " "
> local cross "x"
> forv i=1/ 100 {
>        qui: replace crosses="`cross'" in `i'
>        local cross "`cross'x"
> }
> // ssc install egemore, replace
> egen noccur = noccur(crosses), string("x")
> su noccur

> On Thu, Jul 16, 2009 at 2:26 AM, Susan
Olivia<olivia@primal.ucdavis.edu> 

> > I have a variable (say number of days) and is a string
> > variable. This variable is represented by XXXX
> > (basically the number of X denotes the number of days).
> >
> > I would like to create a numeric value for this variable
> > (i.e. 4 crosses = 4) . Is there a way I can easily do
> > this in Stata? I tried the 'encode' and 'destring'
> > commands, but these commands didn't do what I after.

*
*   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