Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Weighted Euclidean distances with panel data


From   James Cross <jcross@tcd.ie>
To   statalist@hsphsun2.harvard.edu
Subject   st: Weighted Euclidean distances with panel data
Date   Wed, 9 Sep 2009 14:12:05 +0100

Hi all,

I have a large panel dataset which contains information on different
actor positions on different issues (dimensions) within different
legislative proposals. Each actor position has a saliency score
associated with the position by which I hope to weight the importance
of the issue/dimension to that actor.  In essence, I am trying to
calculate the weighted Euclidean distances between each actors'
position and a reference point.

In order to do this I first need to create submatrices of the dataset,
structured as row vectors, that contain the distances between the two
points of interest for each actor for each issue/dimension for each
proposal. That is, I should end up with a row vector for each actor of
distances between the actors' position and the reference point. The
number of elements in this row vector is determined by the number of
issues in each proposal in the panel data. While I can do this for
each observation individually, I am wondering if it is possible to get
stata to do it automatically to save me the effort.

The resulting vector will then need to be multiplied by its transpose
and a diagonal matrix of issue salience for each actor but that cannot
be done until I have created the individual actor distance vectors.
There is also an issue with missing data in that sometimes the
reference point will be missing and some actors will not have
positions on all of the issues/dimensions.

The data is structured as follows:


proposal    issue    actor    position    ref point
04163           1     1         0                   0
04163           2     1         0                   0
04163           1     2         0                   0
04163           2     2         0                   0
00032           1    1          100                0
00032           2    1          50                  n/a
00032           3    1          100                100
00032           4    1          100                0
00032           1    2          100                0
00032           2    2          0                   n/a
00032           3    2          0                   100
00032           4    2          0                    0
00032           1    3          40                  0
00032           2    3          100                n/a
00032           3    3          100                100
00032           4    3          100                0

The resulting vector would look like this for proposal 00032 actor 1:
[100 n/a 0 100], and for proposal 04163 actor 1: [0 0].

I am not sure if this is even possible in stata or if it is, how much
programming is involved.

Any suggestions welcome.
Thanks in advance.

James

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



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