Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: Making symmetry


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: Making symmetry
Date   Fri, 11 Apr 2003 10:41:26 +0100

Alexander
> 
> I have 2 ID-variables:
> 
> Id1	Id2
> 1	1
> 2	3
> 3	5
> 4	.
> 5	.
> 
> And I want the variabels to be symmetric in relation to ID1
> 
> Like this:
> 
> Id1	Id2
> 1	1
> 2	.
> 3	3
> 4	.
> 5	5

This will work if the number of distinct 
levels in -Id2- is modest: 

ssc inst levels 
levels Id2 
replace Id2 = . 
foreach l of local levels { 
	qui replace Id2 = `l' if Id1 == `l' 
} 

Slow but sure with arbitrarily large data sets: 

gen draft = . 
forval i = 1 / `=_N' { 
	qui replace draft = Id2[`i'] if Id1 == Id2[`i'] 
} 
replace Id2 = draft 

Nick 
[email protected] 
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index