BookmarkSubscribeRSS Feed
jdub
Calcite | Level 5

Hello

I am trying to 'invert' distance values from a proc distance so the output would correspond to the highest distance value would be coded as zero and a distance value of zero would be coded as the highest distance value.  I can do this by multiplying the distance values by -1 and then adding the max value but was looking for an automated way to approach the solution.  Is there an automated way to refer to the maximum value for a variable using a by statement?

For example:

Say you have 72 counties of data for per capita earnings and average education.  You use this data to create a distance matrix using per capita earnings and average education as variables.  Each county has a distance (method=euclid) that ranges from zero to a maximum value.  Is there a way to refer to the maximum value of the distance by county?

thanks

1 REPLY 1
djbateman
Lapis Lazuli | Level 10

I am not very familiar with PROC DISTANCE, but I would think that this might do the trick, even though I'm not exactly sure how your data looks.

If each row has two values (earnings and education), then the inverse would be:

earnings_inv=earnings-max(earnings,education);

education_inv=education-max(earnings,education);

See if that helps.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 954 views
  • 0 likes
  • 2 in conversation