BookmarkSubscribeRSS Feed
Ron_MacroMaven
Lapis Lazuli | Level 10

... and JMP, while we are at it.

I have written several papers on Cardinality Ratio and have an sco wiki page on it.

http://www.sascommunity.org/wiki/Cardinality_Ratio

definitions:

* the cardinality of a set is the number of elements in the set

* cardinality of a data set is n-obs

* cardinality of a variable is n-levels

* cardinality ratio is n-levels / n-obs;

* CR is a reducing function, its range is in (0:1]

and it is easier to compare variable's CR than the range of n-levels in (1:n-obs)

if one takes the time to calculate the n-levels of each variable

proc freq data = sashelp.class nlevels;

I know you have the n-obs of the data set,

so, in my book it is a simple step to calculate

cardinality_ratio = n-levels / n-obs;

Why is this a Good Idea?

Because it takes several steps to calculate it.

proc contents ... out = out_contents;

proc freq ... out= out_freq;

proc sort out_contents

proc sort out_freq

data cardinality_ratio;

merge out_contents out_freq;

by name;

cardinality_ratio = nlevels / nobs;

proc summary var cardinality_ratio out = out_means

data cr_type;

select;

when ... cr_type = 'unique';

when ... cr_type = 'many';

otherwise cr_type = 'few';

Having proc freq do the number-crunching makes calculating the

cr-type in (continuous, discrete, unique)

easier.

1 REPLY 1
Ksharp
Super User

What is your question ? you have different version of solution  .

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
  • 1094 views
  • 0 likes
  • 2 in conversation