This repository has example projects, code, and documents for comparing Mathematica with R.
The development in this code repository aims to provide a collection of relatively simple but non-trivial example projects that illustrate the use of Mathematica and R in different statistical, machine learning, scientific, and software engineering programming activities.
Each of the projects has implementations and documents made with both Mathematica and R -- hopefully that would allow comparison and knowledge transfer.
All code files and executable documents are with the license GPL 3.0. For details see http://www.gnu.org/licenses/ .
All documents are with the license Creative Commons Attribution 4.0 International (CC BY 4.0). For details see https://creativecommons.org/licenses/by/4.0/ .
Each project has an introductory page (README.md) that lists the project goals, concrete steps, and links to documents and scripts with full explanations and code.
Generally, an introductory page would also have sections with comparison observations and development history.
Each project (generally) has two directories named "Mathematica" and "R" that have corresponding documents and code.
Since Mathematica ships with R some projects would have only a Mathematica-centric exposition of combining Mathematica and R outputs into one Mathematica notebook.
Some projects have only Mathematica parts or only R parts. This is because there are no equivalent counter-parts.
There is an attempt the corresponding Mathematica and R codes to be very close in structure and steps flow. Often enough the structure and flow would be different because each programming language would make certain particular techniques easier to apply or because of certain language idioms.
This presentation, "Mathematica vs. R" given at the Wolfram Technology Conference 2015 is probably a good start.
This presentation, "Mathematica vs. R–Advanced Use Cases" was given at Wolfram Technology Conference 2016. Here are recorded videos:
-
YouTube : https://www.youtube.com/watch?v=NKpeOKxCUl4 .
-
Wolfram Research : http://www.wolfram.com/broadcast/video.php?v=1745 .
As a warm-up of how to do the comparison see this mind-map (which is made for Mathematica users):
Abbreviation | Definition | Abbreviation | Definition | |
---|---|---|---|---|
ARL | Association rules learning | NA | numerical analysis | |
BofW | bag of words (model) | NLP | natural language processing | |
Cl | (machine learning) classification | Opt | optimization | |
DA | data analysis | Outl | outliers | |
DIng | data ingestion | Par | parallel computing | |
Distr | distributions of variables | QR | quantile regression | |
DWrang | data wrangling | Rgr | regression | |
GoF | goodness of fit | RLink | Mathematica's RLink | |
Gr | graphs | ROC | receiver operating characteristic | |
HPC | High Performance Computing | Sim | simulation(s) | |
Img | image processing | Str | strings patterns and manipulation | |
IUI | interactive user interface(s) | TS | time series | |
LSA | latent semantic analysis | Vis | visualization | |
MF | matrix factorization(s) |
In the following table the projects in italics are partially completed -- they have only a Mathematica or an R part.
Project | ARL | BofW | Cl | DA | DIng | Distr | DWrang | GoF | Gr | Img | IUI | Rgr | LSA | MF | NA | NLP | Opt | Outl | Par | QR | RLink | ROC | Sim | Str | TS | Vis |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BrowsingDataWithChernoffFaces | X | X | X | X | X | X | ||||||||||||||||||||
DataWrangling | X | X | X | X | ||||||||||||||||||||||
DeepLearningExamples | X | X | X | X | ||||||||||||||||||||||
DistributionExtractionAFromGaussianNoisedMixture | X | X | X | |||||||||||||||||||||||
HandwrittenDigitsClassificationByMatrixFactorization | X | X | X | X | X | X | X | |||||||||||||||||||
ODEsWithSeasonalities | X | X | X | X | ||||||||||||||||||||||
ProgressiveJackpotModeling | X | X | ||||||||||||||||||||||||
ProgressiveMachineLearning | X | X | X | |||||||||||||||||||||||
RegressionWithROC | X | X | X | X | ||||||||||||||||||||||
StatementsSaliencyInPodcasts | X | X | X | X | X | |||||||||||||||||||||
TextAnalysisOfTrumpTweets | X | X | X | X | X | X | X | X | X | |||||||||||||||||
TimeSeriesAnalysisWithQuantileRegression | X | X | X | X | X | X |
The future projects are listed in order of their completion time proximity -- the highest in the list would be committed the soonest.
-
Personal banking data obfuscation
-
Independent Component Analysis (ICA) programming and basic applications
-
High Performance Computing (HPC) projects -- Spark, H2O, etc.
-
Informal verification of time series co-dependency
Mathematica's RLink
For more information about Mathematica's RLink
see
-
the YouTube video "RLink: Linking Mathematica and R",
-
the set-up web page guide Setting up RLink for Mathematica.
😅 ☕️ 😀
Anton Antonov 22.10.2015, Florida, USA 29.10.2022, Florida, USA (update)