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 at the end of May, and its replacement, statalist.org is already up and running.


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

st: RE: RE: RE: Changing variable name to variable label


From   "Martin Weiss" <martin.weiss1@gmx.de>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: RE: RE: Changing variable name to variable label
Date   Mon, 12 Apr 2010 23:17:34 +0200

<>

" But I've not thought seriously about everything you need to do."



One of the hazards here is the possibility that variable label and variable
name coincide, as is the case for "race":


*******
sysuse nlsw88, clear

foreach v of var _all{ 
	if "`: var label `v''" != ""  /// 
	rename `v' `=strtoname("`:var label `v''")'
}
*******


Probably need to -capture- the whole thing...

HTH
Martin


-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Nick Cox
Sent: Montag, 12. April 2010 22:36
To: statalist@hsphsun2.harvard.edu
Subject: st: RE: RE: Changing variable name to variable label

That "seem to be constant" isn't nearly as firm as is needed. There
could be lots of small problems here and only an experienced Stata user
is well advised to start trying this. For example, small differences in
case, spacing, wording, etc. will make this much more complicated than
you might hope.

That said, you could run this code in each dataset. 

foreach v of var * { 
	local vlbl : var label `v' 
	if `"`vlbl'"' != "" { 
		local newname = strtoname(`"`vlbl'"') 
		rename `v' `newname' 
	}
}

But I've not thought seriously about everything you need to do. Keep a
copy of all datasets unchanged. 

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

Martin Weiss

help mf_strtoname

comes to mind...

Daniel Jones

I have a set of repeated cross sections (10 years) which I would like to
combine into a single dataset. The problem is that the variable names
are
different across years -- it's a survey, so a variable I need might be
called "Q13" one year and "Q17" the next. 

Variable labels seem to be constant across years, so I thought a
solution
might be to rename the the variables on the basis of their labels. I
found a
previous Statalist posting which describes such a procedure. However,
for
this to work, variable labels need to already be appropriately formatted
to
be variable names -- i.e., no spaces, etc. My variable labels are of the
form "Education Volunteer - Past 12 Months." I'm assuming there's a way
to
remove spaces, etc. from variable labels, and then make them the
variable
names -- but I don't know what it is.

Alternatively, it seems like there could be a simpler solution to
merging
all of these years together. Does anyone have any suggestions?


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