Strengthen your programming skills with tips and techniques from the experts
This blog post demonstrates process and SAS coding techniques to shift dates by a given number of workdays accounting for weekends and holidays.
Strengthen your programming skills with tips and techniques from the experts
This blog post demonstrates process and SAS coding techniques to shift dates by a given number of workdays accounting for weekends and holidays.
The Johnson system (Johnson, 1949) contains a family of four distributions: the normal distribution, the lognormal distribution, the SB distribution (which models bounded distributions), and the SU distribution (which models unbounded distributions). Note that 'B' stands for 'bounded' and 'U' stands for 'unbounded.' A previous article explains the purpose of
The coronavirus has been a big item in the news lately - it's a pneumonia-like illness that has killed several people. It's thought to have started in China, and has spread to several other countries (including at least one case in the U.S.). The World Health Organization says the coronavirus
The flu season has started here in the U.S., and according to the Centers for Disease Control and Prevention (CDC) data it has caused 214 deaths in the first week of 2020. Is this number higher, or lower, than usual? When does the flu season start, and how long does
One great thing about being a SAS programmer is that you never run out of new things to learn. SAS often gives us a variety of methods to produce the same result. One good example of this is the DATA step and PROC SQL, both of which manipulate data. The
From the early days of probability and statistics, researchers have tried to organize and categorize parametric probability distributions. For example, Pearson (1895, 1901, and 1916) developed a system of seven distributions, which was later called the Pearson system. The main idea behind a "system" of distributions is that for each
As I get older, a few of my buddies are starting to retire. And this makes me think about my own retirement (not that I'm anywhere near old enough to retire, mind you!) Therefore when I saw a list of the "Best & Worst Cities for Retiring" it caught my
Are you ready to get a jump start on the new year? If you’ve been wanting to brush up your SAS skills or learn something new, there’s no time like a new decade to start! SAS Press is releasing several new books in the upcoming months to help you stay
2020 is here and systems that use 2-digit years in date values are getting confused. Do we mean 1920 or 2020? In SAS, the YEARCUTOFF= option lets you decide.
Did I trick you into seeing what this blog is about with its mysterious title? I am going to talk about how to use the FIND function to search text values. The FIND function searches for substrings in character values. For example, you might want to extract all email addresses
If someone proposes a bet to you, then you should be suspicious that they already know they're going to win. And one frequent topic of such bets is the weather... What if I bet you there's a city in Canada with a warmer average January temperature than Raleigh, NC? You
Last year, I wrote more than 100 posts for The DO Loop blog. The most popular articles were about SAS programming tips for data analysis, statistical analysis, and data visualization. Here are the most popular articles from 2019 in each category. SAS programming tips Create training, testing, and validation data
Do you find yourself on the road during the holidays, and looking for a place to eat that's still open? Or perhaps you're like me - I don't cook at home, and I'm not really into visiting family for the holidays and eating with them. Well then, you probably know
This article discusses how to use SAS to filter variables in a dataset based on the percentage of missing values or duplicate values. The missing value statistics can be implemented by either DATA step programming on your own or reusing the existing powerful PROC FREQ.
The Rise of Skywalker, the final movie in the third set of the three Star Wars trilogies, will finally be released tomorrow (December 20, 2019). That's 9 movies, in about 42 years. And, if the first movies aren't still fresh in your mind (or perhaps you weren't even born when
I saw an article that claimed Donald Trump recently tweeted 123 times in one day. This got me wondering how many times he typically tweets during a day, and whether this number has changed over the years. This seems like it might be a good topic to analyze with a
The next time you pick up a book, you might want to pause and think about the work that has gone into producing it – and not just from the authors.
I can tell that my area (Wake county, NC) has a growing population, because the traffic keeps getting worse and worse. But it's a little difficult to quantitatively gauge growth by looking at traffic congestion. Therefore let's have a look at a more direct measurement - the actual population data!
Parts 1 and 2 of this blog post discussed exploring and preparing your data using SASPy. To recap, Part 1 discussed how to explore data using the SASPy interface with Python. Part 2 continued with an explanation of how to prepare your data to use it with a machine-learning model.
Bringing the power of SAS to your Python scripts can be a game changer. An easy way to do that is by using SASPy, a Python interface to SAS allowing Python developers to use SAS® procedures within Python. However, not all SAS procedures are included in the SASPy library. So,
Binary matrices are used for many purposes. I have previously written about how to use binary matrices to visualize missing values in a data matrix. They are also used to indicate the co-occurrence of two events. In ecology, binary matrices are used to indicate which species of an animal are
As we're getting into December, and the weather is getting colder, I thought it would be cool to plot some Antarctica data. You might remember I did this about 1.5 years ago, using good-old Proc Gmap, a special projection, and lots of tricky annotation. Well, this time let's use the
The DATA step remains a popular way to create and manipulate SAS data sets. Whether you are reshaping a data set entirely or simply assigning values to a new variable, there are numerous tips and tricks that you can use to save time and keystrokes.
SAS' Leonid Batkhan shows you how to compare SAS data sets that include common and uncommon columns. You'll learn how to check mark commonalities and color-code differences in data tables side-by-side columns and add a comments field to see greater detail.
If you’re like me, you struggle to buy gifts. Most folks in my inner circle already have everything they need and most of what they want. Most folks, that is, except the tech-lovers. That’s because there’s always something new on the horizon. There’s always a new gadget or program. Or
Site relaunches with improved content, organization and navigation. In 2016, a cross-divisional SAS team created developer.sas.com. Their mission: Build a bridge between SAS (and our software) and open source developers. The initial effort made available basic information about SAS® Viya® and integration with open source technologies. In June 2018, the
If you don't have a SAS/Graph license, then you're probably using the ODS Graphics 'sg' procedures that come with Base SAS to create your graphs and maps. And if you've tried plotting data on a map, you probably noticed that SGmap lets you overlay point-data on an OpenStreetmap, but you
With time series data analysis, we can apply moving average methods to predict data points without seasonality. This includes Simple Average (SA), Simple Moving Average (SMA), Weighted Moving Average (WMA), Exponential Moving Average (EMA), etc. For series with a trend but without seasonality, we can use linear, non-linear and autoregressive
The SAS Global Certification Program started in 1999 and has issued over 150,000 credentials to SAS users. Today, the program offers 23 different credentials across seven categories.
What is an efficient way to evaluate a multivariate quadratic polynomial in p variables? The answer is to use matrix computations! A multivariate quadratic polynomial can be written as the sum of a purely quadratic term (degree 2), a purely linear term (degree 1), and a constant term (degree 0).