Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Tirthankar Chakravarty <tirthankar.chakravarty@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Calculating Mahalanobis distance |

Date |
Tue, 4 May 2010 02:38:44 +0530 |

<> To calculate the centred Mahalanobis distance between two variables as here try this: *********************************************** clear* sysuse auto, clear mata real vector maha_dist(string scalar varlist, string scalar touse) { real matrix mX real matrix mZ st_view(mX=., ., tokens(varlist), touse) mZ = mX :- mean(mX) return(sqrt(diagonal(mZ*invsym(cross(mZ, mZ)/(rows(mZ)-1) )*mZ'))) } end cap prog drop md program define md version 11 syntax varlist [if] [in], [GENerate(string )] marksample touse mata: vReturn = maha_dist("`varlist'", "`touse'") getmata `generate' = vReturn end md weight length, gen(md_w_l) su md_w_l *********************************************** You can put this in two -foreach- loops to calculate the distance between a bunch of variables. T 2010/5/3 Schijven, Mario <MSchijven@mays.tamu.edu>: > Hi all, > > Does anyone know whether Stata has a pre-programmed command to compute Mahalanobis distance? So far, I've manually computed the Euclidean distance between two sets of firms in a dataset, but I need to compute the Mahalanobis distance. If Stata cannot do this, perhaps someone knows how to do it in Excel (i.e., how do I modify the formula for calculating Euclidean distance into one for Mahalanobis distance)? > > All the very best and many thanks in advance, > > Mario Schijven > Mays Business School > Texas A&M University > > * > * 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/ > -- To every ω-consistent recursive class κ of formulae there correspond recursive class signs r, such that neither v Gen r nor Neg(v Gen r) belongs to Flg(κ) (where v is the free variable of r). * * 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/

**Follow-Ups**:**RE: st: Calculating Mahalanobis distance***From:*"Lachenbruch, Peter" <Peter.Lachenbruch@oregonstate.edu>

**References**:**st: Calculating Mahalanobis distance***From:*"Schijven, Mario" <MSchijven@mays.tamu.edu>

- Prev by Date:
**Re: st: creating variable from svy: proportion** - Next by Date:
**RE: st: Calculating Mahalanobis distance** - Previous by thread:
**st: RE: Calculating Mahalanobis distance** - Next by thread:
**RE: st: Calculating Mahalanobis distance** - Index(es):