Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: automatic joining variables after merging datasets
From
Jörg Eulenberger <[email protected]>
To
[email protected]
Subject
Re: st: automatic joining variables after merging datasets
Date
Fri, 03 May 2013 08:01:20 +0200
Thanks a lot Maarten, it works great!
Best Regards Jörg
Am 02.05.2013 09:16, schrieb Maarten Buis:
> On Wed, May 1, 2013 at 11:17 AM, Jörg Eulenberger wrote:
>> is the a automatic way to find variables with the exact same varlabel
>> and then copy the value from the second variable to the first variable?
> Here is one solution:
>
> *------------------ begin example ------------------
> //---------------------- create two example datasets
> tempfile 1 2
> sysuse auto, clear
> gen byte dataset = 1
> save `1'
>
> // change the variable names in dataset 2 by adding
> // a random integer as suffix to the name
> sysuse auto, clear
> gen byte dataset = 2
> foreach var of varlist * {
> rename `var' `var'`=ceil(6*runiform())'
> }
> save `2'
>
> //---- step 1: collect variable names and var labels
> tempfile varlab1 varlab2
> use `1', clear
> desc, replace
> keep name varlab
> save `varlab1'
>
> use `2', clear
> desc, replace
> keep name varlab
> rename name name2
> save `varlab2'
>
> //---------- step 2: find varnames with same varlabs
> merge 1:1 varlab using `varlab1', keep(match)
>
> //-------------- step 3: create do file that renames
> // the variables in dataset 2
> tempname myfile
> tempfile tfile
> file open `myfile' using "`tfile'", write text replace
> forvalues i = 1/`=_N' {
> file write `myfile' "rename " (name2[`i']) " " (name[`i']) _n
> }
> file close `myfile'
>
> //--------- step 4: apply that .do file to dataset 2
> use `2', clear
> do `tfile'
>
> //-------------------- step5: append dataset 1 and 2
> append using `1'
>
> *------------------- end example -------------------
> (For more on examples I sent to the Statalist see:
> http://www.maartenbuis.nl/example_faq )
>
>
> ---------------------------------
> Maarten L. Buis
> WZB
> Reichpietschufer 50
> 10785 Berlin
> Germany
>
> http://www.maartenbuis.nl
> ---------------------------------
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/