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]

From |
Robert Picard <picard@netbox.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: RE: RE: RE: AW: Creating index relative to other observations |

Date |
Fri, 30 Apr 2010 12:09:00 -0400 |

Perhaps the following example is close to what you are trying to do. It loops through all observations. Each time, it calculates the distance from observation `i' to all others (distance will be missing for the observation `i'). Values for variable x1 are adjusted according to the distance to `i' and summed. The observation `i' of x3 is then updated with the value of the sum plus the value of x2 for observation `i'. Hope this helps, Robert http://robertpicard.com/ *--------------------------- begin example ----------------------- version 11 * This example require my -geodist- program available on SSC * To install: ssc install geodist clear all set obs 5 set seed 1234 gen lat = 37 + (41 - 37) * uniform() gen lon = -109 + (109 - 102) * uniform() gen x1 = round(uniform()*100) gen x2 = round(uniform()*100) gen x3 = . forvalues i = 1/`c(N)' { geodist lat lon `=lat[`i']' `=lon[`i']' if _n != `i', gen(d) gen xtemp = x1 / d sum xtemp, meanonly qui replace x3 = r(sum) + x2 in `i' list drop d xtemp } *--------------------- end example -------------------------- On Fri, Apr 30, 2010 at 7:49 AM, Frederick Guy <f.guy@bbk.ac.uk> wrote: > Many thanks. Now for a crash-course in MATA... > > -----Original Message----- > From: owner-statalist@hsphsun2.harvard.edu > [mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Nick Cox > Sent: 29 April 2010 19:22 > To: statalist@hsphsun2.harvard.edu > Subject: st: RE: RE: AW: Creating index relative to other observations > > I'd do this in Mata. Mata has a -for- loop. > > Nick > n.j.cox@durham.ac.uk > > Frederick Guy > > Thanks, I guess I was unclear on this aspect of the problem. For each > observation, the sum I'm talking about is of measurements made relative > to all other observations (or more generally, to some set of other > observations) in the sample. > > Martin Weiss > > ".. sum up the results of these computations,". > > Creating sums can mean different things in Stata. It may sound trite, > but > the easiest is simply to -generate- a sum by adding values with a "+" > sign. > If you want the total of a variable, look at -egen, total()-. If you > want a > running sum, take a look at -help sum()-. > > Frederick Guy > > I have need to use information from all observations (about 1800 of > them) to create a new variable. > > The variable created is a weighted sum of the inverse of geographical > distances between observation i and all j n.e. i. I have longitude and > latitude for each observation, and computation of the distance from any > i to any j is straightforward. What I don't know is how to get Stata to > loop over all observation and sum up the results. > > For every observation i, I think I need to > > (a) loop through all j n.e. I, doing computations involving variables > x1, x2(i) and x1, x2(j), and then > > (b) sum up the results of these computations, returning a value which > becomes variable x3 for that i. > > I expect there's a straightforward way to do this. Any suggestions? > > * > * For searches and help try: > * http://www.stata.com/help.cgi?search > * http://www.stata.com/support/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/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/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**st: Creating index relative to other observations***From:*"Frederick Guy" <f.guy@bbk.ac.uk>

**st: RE: AW: Creating index relative to other observations***From:*"Frederick Guy" <f.guy@bbk.ac.uk>

**st: RE: RE: AW: Creating index relative to other observations***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**st: RE: RE: RE: AW: Creating index relative to other observations***From:*"Frederick Guy" <f.guy@bbk.ac.uk>

- Prev by Date:
**Re: st: RE: clustered standard errors** - Next by Date:
**st: Connecting Data Points with Lines** - Previous by thread:
**st: RE: RE: RE: AW: Creating index relative to other observations** - Next by thread:
**st: cfa1: How to obtain standardized coefficients?** - Index(es):