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 arsenal, compareGroups, 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.

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!

Excellent list here. Very comprehensive! Will absolutely come in handy down the road. Thanks for sharing.

George

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

You could add the OneR package to the Trees, Decision, Classification or Regression section: https://CRAN.R-project.org/package=OneR, the vignette can be found here: https://cran.r-project.org/web/packages/OneR/vignettes/OneR.html.

(Full disclosure: I am the author of this package)

Hi Holger,

I’ve just added it.

Thanks,

Bob

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.

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

For the conjoint analysis in R only “conjoint” package. The best one for traditional CA.

Hi John,

Thanks! I’m adding that and faiselconjoint. At StackExchange I see several listed: https://stats.stackexchange.com/questions/9283/conjoint-packages-for-r. What do you think of those? I’d like to add you to the acknowledgments. Is your last name Gora?

Cheers,

Bob