BookmarkSubscribeRSS Feed
scrofungulus4
Calcite | Level 5

I have a set of, say 36 observations and wish to calculate the distance matrix for these observations.  Now I can do so with the use of a double do-loop, but this seems tedious (even though, for my purposes at this stage, computation time is negligible still).  I read that the "distance" operator can be used in this way:

delta = distance(matrix, "L2"); 

for, say, the Euclidian distance.  It seems like a nifty function, unfortunately on my SAS9.3 system, the log gives me an error saying "Invocation of unresolved module DISTANCE."

Anybody have an idea why this is? 

2 REPLIES 2
Rick_SAS
SAS Super FREQ

The DISTANCE function was introduced in SAS/IML 12.1, which was released as part of SAS 9.3M2 (the second maintenance releaase): See Support.sas.com

Rick_SAS
SAS Super FREQ

Of course, you can still write your own distance function by using the SAS/IML language, as shown in the following article:
How to compute the distance between observations in SAS - The DO Loop

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 2 replies
  • 1660 views
  • 0 likes
  • 2 in conversation