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: RE: relabeling variables using 2 datasets

From   Smets Lodewijk <>
To   "" <>
Subject   st: RE: RE: relabeling variables using 2 datasets
Date   Fri, 27 Apr 2012 11:11:16 +0000

Thanks for the solution!

Lodewijk Smets
PhD. candidate
Institute of Development Policy & Management (IOB)
University of Antwerp
Lange Sint-Annastraat 7 - Office S106
2000 Antwerp
Tel: +32 (0)3 265 5927

-----Original Message-----
From: [] On Behalf Of Nick Cox
Sent: vrijdag 27 april 2012 12:54
To: ''
Subject: st: RE: relabeling variables using 2 datasets

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:

*   For searches and help try:

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