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]

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:07:20 +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/

**References**:**st: Changing variable name to variable label***From:*Daniel Jones <dbj3@pitt.edu>

**st: RE: Changing variable name to variable label***From:*"Martin Weiss" <martin.weiss1@gmx.de>

**st: RE: RE: Changing variable name to variable label***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

- Prev by Date:
**st: Stata 11 discrim logistic leave-one-out** - Next by Date:
**RE: st: RE: Means for Metan** - Previous by thread:
**st: RE: RE: Changing variable name to variable label** - Next by thread:
**st: RE: RE: RE: Changing variable name to variable label** - Index(es):