Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

st: RE: relabeling variables using 2 datasets

From   Nick Cox <>
To   "''" <>
Subject   st: RE: relabeling variables using 2 datasets
Date   Fri, 27 Apr 2012 11:53:55 +0100

use DB2 

forval i = 1/`=_N' { 
	local var = seriescodestata[`i'] 
	local l`var' = indicatorname[`i'] 

use DB1 

foreach var of var * { 
	if "`: variable label `var''" == "" label var `var' "`l`var''" 


Smets Lodewijk

I want to relabel a large set of variables from one dataset (= DB1) using information from a second dataset (=DB2). 

DB1 contains numeric variables with the following names:  vAG_LND_PRCP_MM ,  vAG_SRF_TOTL_K2 , etc.

DB2 contains a string called seriescodestata which contains as values the same variable names as DB1, i.e. vAG_LND_PRCP_MM ,  vAG_SRF_TOTL_K2 , etc 
DB2 also contains another string called indicatorname which contains as values the labels I want to give to the variables in DB1

An example: 

vAG_LND_PRCP_NM                 vAG_SRF_TOTL_K2       etc.           

    327                             13781730

Seriescodestata                         indicatorname

vAG_LND_PRCP_MM                average precipitation in depth (mm per year)

vAG_SRF_TOTL_K2                   surface area (sq. km)     

Now I'm looking for a program code to automatically relabel the variables of DB1 using the information in DB2

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index