BookmarkSubscribeRSS Feed
Tom
Super User Tom
Super User

You seem to have of misunderstood the meaning of the LOW keyword in PROC FORMAT.  It does not mean the lowest value that the inequality operator tests. It means the lowest actual (ie non-missing) number.

 

How missing values are treated for comparisons as opposed to how they are treated for calculations are two of the many design decisions that SAS had to make.  They chose to treat missing values as less than any actual numeric value.

Reeza
Super User

@TashaChapman14 wrote:
Yes, I do eat, sleep, and breathe PROC Format, which may have influenced my expectations with how the DATA step would handle missing data.

In the end, I'm not saying it's wrong. It's just not intuitive.

Given that character missing is handled differently, that I'll agree with for sure. 

The reality is programming languages are designed by multiple people over time and humans do things differently, make mistakes and such. In fact, if you're comparing it to R (first post), the inconsistencies between different packages in formats and structures is significantly worse because there are no standards and many, many, many, many people doing that. RStudio is attempting to do some of this within Tidyverse but as soon as you step outside of that you're in the wild west. And Python is worse for that. 

 

Although computers do the work, it's people who tell them what to do and we're very flawed creatures. 

 

 

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 16 replies
  • 6941 views
  • 8 likes
  • 6 in conversation