From p-Values to Bayes Factors

Improve the interpretation of your frequentist analysis output’s strength of evidence by incorporating Bayes factor bounds using SAS.

Nov 13, 2024 · 6 min · 1148 words · D. Michael Senter

CSV2DS

CSV2DS is a new program I wrote in Go to help me create minimum working examples for SAS that can be shared as a single SAS script.

Nov 23, 2022 · 3 min · 577 words · D. Michael Senter

Loading Zillow Housing Data in SAS

Zillow is a well-known website widely used by those searching for a home or curious to find out the value of their current home. What you may not know is that Zillow has a dedicated research page. To make their website work optimally, they churn through tons of data on the American housing market. They share insights they gleaned via zillow.com/research. If you visit their research website you’ll notice they have a data page where you can download some really cool data sets for your own research. They even have an API with which you can load data directly, but you’ll have to register for access. In this post, we’ll look at how to load the CSV files that are available for direct download into SAS for analysis. ...

Aug 1, 2022 · 5 min · 892 words · D. Michael Senter

The INDSNAME Option in SAS

I frequently find myself needing to concatenate data sets but also wanting to be able to distinguish which row came from which data set originally. Introductory SAS courses tend to teach the in keyword, for a workflow similar to this: ...

Apr 20, 2022 · 1 min · 159 words · D. Michael Senter

Multline Bash Variable Replacement

I’ve recently needed to append several lines of data to a SAS data step that I collected and built via a shell script. For search-and-replace in bash I typically use sed, but this time I ran into a problem - sed does not like multiline shell variables. Thanks to Stack, I found a way to accomplish this task using awk instead. ...

Mar 16, 2022 · 2 min · 244 words · D. Michael Senter

Cleaning up a Date String with RegEx in SAS

Sometimes we have to deal with manually entered data, which means there is a good chance that the data needs to be cleaned for consistency due to the inevitable errors that creep in when typing in data, not to speak of any inconsistencies between individuals entering data. ...

Sep 29, 2021 · 4 min · 711 words · D. Michael Senter

From Proc Import to a Data Step with Regex

I find myself needing to import CSV files with a relatively large number of columns. In many cases, proc import works surprisingly well in giving me what I want. But sometimes, I need to do some work while reading in the file and it would be nice to just use a data step to do so, but I don’t want to type it in by hand. That’s when a combination of proc import and some regex substitution can come in handy. ...

Jul 29, 2021 · 3 min · 489 words · D. Michael Senter