Statalist The Stata Listserver


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: RE: Re: Variable generation


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: RE: Re: Variable generation
Date   Thu, 14 Jun 2007 20:01:10 +0100

... , by(octy) 

Nick 
[email protected] 

Nick Cox

> Your code is twice as long as needed. As -egen, total()-
> can feed on expressions, consider 
> 
> egen x1 = total((1/dist) * exp) 
> 
> -egen, total()- is the current name of -egen, sum()-. 
> 
> Nick 
> [email protected] 
> 
> Roy,Suryadipta
>  
> > I probably just sorted it out without any programming- 
> > would get beck for more help later on!
> > 
> > g dt=(1/dist)*exp
> > egen x1=sum(dt), by(octy)
> 
> Roy,Suryadipta
>  
> > > I have data on 5 countries (a, b, c, d, e) for octy, 
> > >dcty, dist, d1, and exp. The data are given below:
> > > 
> > > octy 	dcty	dist	d1	exp	x1	x2
> > > a	c	5	1	50	35	50
> > > a	d	4	0	100	35	50
> > > b	c	3	0	50	29.167	0
> > > b	d	8	0	100	29.167	0
> > > c	d	2	1	50	25	50
> > > d	c	2	1	100	50	100
> > > e	c	1	0	50	150	0
> > > e	d	1	0	100	150	0
> > > 
> > > I need to generate x1 and x2 for all countries based on 
> > >the following formula:
> > > 
> > > x1 (country a)= 
> > >1/dist(a,c)*exp(c)+1/dist(a,d)*exp(d)=1/5*50+1/4*100=35.
> > > 
> > > x2 (country a)= 
> > >d1(a,c)*exp(c)+d1(a,d)*exp(d)=1*50+0*100=50, and so on 
> > >for all countries.
> > > 
> > > With over 200 countries, this obviously needs some 
> > >programming and it would be great to get some help here.

*
*   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