Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | Nick Cox <njcoxstata@gmail.com> |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: Using local(levels) to populate a new variable following parmest |
Date | Mon, 14 May 2012 15:29:11 +0100 |
gen level = "`l'" By the way, the code gen flag="" destring flag, replace replace flag = 1 if p<0.05 replace flag = 0 if p>=0.05 seems to boil down to one line gen flag = p < 0.05 There is no point in creating an empty string variable and then pushing it through -destring-. Nick On Mon, May 14, 2012 at 3:21 PM, Tim Evans <Tim.Evans@wmciu.nhs.uk> wrote: > Hi all, > > I'm using Stata 11 and carrying out a series of Cox regressions for which I save the results into a .dta file using -parmest-. I run the regressions on each level contained within a variable (ICD10) using local levels. What I am trying to do is generate a new variable following parmest, which is equal to the local level for which the regression has just been calculated i.e. before I save the file at the end and run through the next level of ICD10, I want to generate a column that holds the value for the first level of ICD10 and so on in subsequent regressions. > > > Here is my code: > > levelsof ICD10, local(levels) > foreach l of local levels { > di as text "_______________________________" > di as text "`l'" > cap noi: xi: stcox delay2v2 `covariates' if ICD10 =="`l'", nolog > preserve > > > foreach v in delay2v2 { // continuous variables > local l`v' : variable label `v' > if `"`l`v''"' == "" { // if no variable label > local l`v' "`v'" > } > } > > > parmest, norestore eform > foreach v in delay2v2 { > replace parm = "`l`v''" if parm == "`v'" > } > replace parm = "baseline odds" if parm == "_cons" > > **Remeove baseline odds > drop if parm =="baseline odds" > > gen label2="" > destring label2, replace> gen flag="" > destring flag, replace > replace flag = 1 if p<0.05 > replace flag = 0 if p>=0.05 > > **delay group > > replace label2 = 101 if parm == "delay2v2" > > label values label2 label2 > > label define flag 0 "Not significant" 1 "Significant" > label values flag flag > > ******************** > NEED TO GENERATE NEW VARIABLE HERE? > ********************* > ********************** > > save "T:\mydocuments\cancer_`l'.dta", replace > restore > > } * * 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/