R Package Equivalents to SAS & SPSS

R has over 10,000 add-on packages, many containing multiple procedures, so it can do most of the things that SAS and SPSS can do and quite a bit more. The list below focuses on SAS and SPSS products and which of them have counterparts in R. As a result, some categories are extremely broad (e.g. regression) while others are quite narrow (e.g. conjoint analysis). This table does not contain the hundreds of R packages that have no counterparts in the form of SAS or SPSS products. There are many important topics (e.g. mixed models, survival analysis) offered by all three that are not listed because neither SAS Institute nor IBM’s SPSS Company sell a product focused just on that.

Advanced Models

  • SAS/STAT
  • IBM SPSS Advanced Statistics
  • R itself, MASS, many others

Association Analysis

  • SAS Enterprise Miner
  • IBM SPSS Association
  • R: arules, arulesNBMiner, arulesSequences

Basic Statistics

  • Base SAS
  • IBM SPSS Statistics Base
  • R

Bootstrapping

  • SAS/STAT
  • IBM SPSS Bootstrapping
  • R: BootCL, BootPR, boot, bootRes, BootStepAIC, bootspecdens, bootstrap, FRB, gPdtest, meboot, multtest, pvclust, rqmcmb2, scaleboot, simpleboot

Classification Analysis

  • SAS Enterprise Miner
  • IBM SPSS Classification
  • rattle, see also: neural networks and trees

Conjoint Analysis

  • SAS/STAT: PROC TRANSREG
  • IBM SPSS Conjoint
  • R: conjoint, faisalconjoint, homals, psychoR, bayesm

Correspondence Analysis

  • SAS/STAT::PROC CORRESP
  • IBM SPSS Categories
  • R: ade4, cocorresp, FactoMineR, homals (most like SPSS Categories), made4, MASS, psychoR, PTAk, vegan

Data Access

  • SAS/ACCESS
  • SPSS Data Access Pack
  • DBI, foreign, gdata::read.xls, Hmisc::sas.get, SAScii, sasxport.get, RODBC, sas7bdat (best choice for reading SAS files), WriteXLS, xlsReadWrite, XLconnect (best choice for Excel)

Data Collection

  • SAS/FSP
  • IBM SPSS Data Collection Family
  • R: none; MySQL or PostgreSQL are popular among R users for this purpose

Data Mining

  • SAS Enterprise Miner
  • IBM SPSS Modeler (formerly Clementine)
  • arules, FactoMineR, Rattle, Red-R, RWeka link to Weka, xgboost, many others

Data Mining, In-database Processing

  • SAS In-Database Initiative with Teradata
  • IBM SPSS Modeler
  • PL/R for PostgreSQL, RODM for Oracle

Data Preparation

  • SAS: Various procedures
  • IBM SPSS Data Preparation, various commands
  • R: these are specific to data error checking: assertr, dataMaid, deducorrect, ensurer (dprep is no longer being maintained), validate; these are more general purpose: dplyr, plyr, reshape, reshape2, sqldf, tidyr, various functions

Developer Tools

  • SAS/AF, SAS/FSP, SAS Integration Technologies, SAS/TOOLKIT
  • IBM SPSS Statistics Developer, IBM SPSS Statistics Programmability Extension
  • R links to most popular compilers, scripting languages, and databases, StatET

Direct Marketing

  • SAS doesn’t have anything like this
  • IBM SPSS Direct Marketing
  • R doesn’t have anything like this

Exact Tests

  • SAS/STAT various procedures
  • IBM SPSS Exact Tests
  • R: coin, elrm, exact2x2, exactLoglinTest, exactmaxsel, and options in many others

Excel Integration

  • SAS Add-in for Microsoft Office, SAS Enterprise BI Server
  • SPSS: none (SPSS Advantage for Excel is discontinued)
  • RExcel

Forecasting

  • SAS/ETS
  • IBM SPSS Forecasting
  • Over 40 packages that do time series are described at the Task View link above under Time Series

Forecasting, Automated

  • SAS Forecast Server
  • IBM SPSS Forecasting
  • R: forecast

Genetics

  • SAS: JMP Genomics
  • SPSS: None
  • R: Bioconductor

Geographic Information Systems

  • SAS/GIS, SAS/GRAPH
  • SPSS Base
  • R: maps, mapdata, mapproj, GRASS via spgrass6, RColorBrewer, see Spatial in CRAN Task Views

Graphical user interfaces

  • SAS Enterprise Guide, IML Studio, SAS/ASSIST, Analyst, Insight
  • IBM SPSS Statistics Base
  • R: Menus & dialog boxes: Deducer,  R Commander
    Data Mining: rattle, Red-R

Graphics, Interactive

  • SAS/IML Studio, SAS/INSIGHT, JMP
  • SPSS: none
  • R: cranvas, rggobi link to GGobi, iPlots, latticist, playwith, TeachingDemos

Graphics, Static

  • SAS/GRAPH, ODS Graphics, Graph Template Language
  • SPSS Base, Graphics Production Language
  • R: ggplot2, gplots, graphics, grid, gridBase, hexbin, lattice, plotrix, scatterplot3d, vcd, vioplot, geneplotter, Rgraphics

Graphics, Template Builder

  • Doesn’t use Grammar of Graphics model that forms the core of IBM SPSS Viz Designer or R’s ggplot2
  • IBM SPSS Viz Designer
  • R: Deducer::Plot Builder

Guided Analytics

  • SAS/LAB
  • SPSS: none
  • R: none

Internet Control

  • SAS/Intrnet
  • SPSS: none
  • R: CGIwithR, Rweb (see also Server Version below)

Matrix/linear Algebra

  • SAS/IML
  • IBM SPSS Matrix
  • R has many matrix functions built in, matlab, Matrix, sparseM

Missing Values Imputation

  • SAS/STAT::PROC MI
  • IBM SPSS Missing Values
  • R: arrayImpute, arrayMissPattern, Amelia, cat, Hmisc::aregImpute, Hmisc::fit.mult.impute, EMV, longitudinalData, mi, mice (similar to SPSS & SAS approach), mitools, mvnmle,
    SeqKnn, VIM (nice visualization)

Neural Networks

  • SAS Enterprise Miner
  • IBM SPSS Neural Networks, IBM SPSS Modeler
  • R: AMORE, grnnR, neuralnet, nnet, rattle

Operations Research

  • SAS/OR
  • SPSS: none
  • R: glpk, linprog, LowRankQP, TSP

Output Management – this isn’t actually an add-on product but it’s so important that I include it here.

  • SAS: Output Delivery System (ODS)
  • SPSS: Output Management System (OMS)
  • R: this is built into base R, but the dplyr package combined with the broom package makes saving output for further analysis much easier. The older plyr package is slightly more flexible, but much slower. The data.table package is the fastest, though less popular than dplyr.

Power Analysis

  • SAS Power and Sample Size Application, SAS/STAT::PROC POWER, PROC GLMPOWER
  • SPSS: SamplePower
  • R: asypow, powerpkg, pwr, MBESS

Quality Control

  • SAS/QC
  • IBM SPSS Statistics Base
  • R: qcc, spc

Regression Models

  • SAS/STAT
  • IBM SPSS Regression
  • R, Hmisc, lasso, VGAM, pda, rms (replaces Design)

Sampling, Complex

  • SAS/STAT: PROC SURVEY SELECT, SURVEYMEANS, etc.
  • IBM SPSS Complex Samples
  • R: pps, sampfling, sampling, spsurvey, survey, srvyr

Segmentation Analysis

  • SAS Enterprise Miner
  • IBM Modeler Segmentation
  • R: cluster, rattle, som, see CRAN Task Views under Cluster for over 70 packages

Server Version

  • SAS, SAS Enterprise Miner for your server
  • IBM SPSS Statistics Server, IBM SPSS Modeler Server
  • R for your server, rapache, R(D)COM Server, Rserve, StatET

Structural Equation Modeling

  • SAS/STAT::PROC CALIS
  • SPSS: Amos
  • R: lavaan (can “mimic” Mplus or EQS output), OpenMX, sem

Tables

  • Base SAS, PROC REPORT, PROC SQL, PROC TABULATE, SAS Enterprise Reporter
  • IBM SPSS Custom Tables
  • For display, the arsenalcompareGroups, tables and rreport packages are the most similar. The xtable package converts various tabular types of output to HTML or LaTeX. texreg does a wonderful job of comparing multiple models side-by-side. To create tables for use in further analysis (rather than for display): base::aggregate, Epi::stat.table, dplyr, reshape2, base::tapply. The MRCV package handles Multiple Response Categorical Variables (“check all that apply” items on surveys.)

Text Analysis/Mining

  • SAS Enterprise Content Categorization, SAS Ontology Management, SAS Sentiment Analysis, SAS Text Miner
  • IBM SPSS Text Analytics, IBM SPSS Text Analysis for Surveys
  • R: corpora, emu, gsubfn, kernlab, KoNLP, koRpus, languageR, lsa, maxent, openNLP, openNLPmodels.en, openNLPmodels.es, RcmdrPlugin.TextMining, RKEA, RQDA, RTextTools, RWeka, Snowball, tautextcat, TextRegression, tm, tm.plugin.dc, tm.plugin.mail, topicmodels, wordcloud, wordnet, zipfR

Trees, Decision, Classification or Regression

  • SAS Enterprise Miner
  • IBM SPSS Decision Trees, IBM SPSS AnswerTree, IBM SPSS Modeler (formerly Clementine)
  • ada, adabag, BayesTree, boost, caret, GAMboost, gbev, gbm, maptree, mboost, mvpart, OneR, party, pinktoe, quantregForest, rpart,rpart.permutation, randomForest, rattle, tree

My thanks go out to the many people who helped compile this table including:
Thomas E. Adams, Liviu Andronic, Jonathan Baron, Roger Bivand, Jason Burke,
Patrick Burns, David L. Cassell, Dennis Fisher, Peter Flom, Tal Galili, Chao Gai,
Bob Green, Frank E. Harrell Jr., Rob Hyndman, Holger K. von Jouanne-Diedrich,
Robert Kobacoff, Max Kuhn, Lee Francis, Paul Murrell, Yves Rosseel, Charilaos Skiadas, Greg Snow, Alexandre Sugiyama, Antony Unwin, Tobias Verbeke, Kyle Weeks,
Graham Williams, and David Winsemius.

All SAS and SPSS product names are registered trademarks of their respective companies.
Copyright 2008-2019 Robert A. Muenchen.

11 thoughts on “R Package Equivalents to SAS & SPSS”

  1. One of the most amazing sections of these lists is the listing of people who helped compile the lists. The R/SAS/SPSS community is teamwork-oriented!

      1. Hi George,

        I’m glad you found it useful. If you ever think of something to add to it, please let me know.

        Cheers,
        Bob

  2. In the section for Graphics, Template Builder, I believe you have overlooked the advances that SAS has made in graphing. SAS now has GTL which is a graphics template language and ODS graphics procedures in BASE SAS. They can do all the graphs I see in your second edition of R for SAS and SPSS Users in Chapter 16.

    The GTL reference PDF book is: https://go.documentation.sas.com/api/collections/pgmsascdc/9.4_3.4/docsets/grstatgraph/content/grstatgraph.pdf?locale=en#nameddest=titlepage

    The ODS Prodecures Guide has a PDF here: https://go.documentation.sas.com/api/collections/pgmsascdc/9.4_3.4/docsets/grstatproc/content/grstatproc.pdf?locale=en#nameddest=titlepage

    I had been primarily using SAS/Graph, but I switched over a few years ago to ODS graphics procedures like sgplot. The syntax is a little harder than for SAS/Graph, but it easier to do more advanced graphing.

    1. Hi Alexandre,

      The reason I didn’t list those is that this page is devoted to products, not features. A comprehensive cross-reference of features would not be feasible. However, I do think those are worth listing since they have essentially replaced SAS/Graph for many tasks. So I’ve included them, and I’ve added your name to the list of contributors to this article.

      Thanks,
      Bob

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.