Build Status Coverage Status

aurelius is a toolkit for translating models and analytics from the R programming language into the Portal Format for Analytics (PFA). There are functions for importing, exporting and converting common R classes of models into PFA. There are also functions for converting variable assignment, control structures, and other elements of the R syntax into PFA.

Getting Started

Install and Load aurelius Library

devtools::install_github('opendatagroup/hadrian', subdir='aurelius')

Build a Model and Save as PFA

The main purpose of the package is to create PFA documents based on logic created in R. This example shows how to build a simple linear regression model and save as PFA. PFA is a plain-text JSON format.

# build a model
lm_model <- lm(mpg ~ hp, data = mtcars)

# convert the lm object to a list of lists PFA representation
lm_model_as_pfa <- pfa(lm_model)

The model can be saved as PFA JSON and used in other systems.

# save as plain-text JSON
write_pfa(lm_model_as_pfa, file = "my-model.pfa")

Just as models can be written as a PFA file, they can be read.

my_model <- read_pfa("my-model.pfa")

Supported Models

The pfa() function in this package supports direct conversion to PFA for objects created by the following functions:

Model Function Prediction Libraries
Autoregressive Integrated Moving Average (ARIMA) arima(), Arima(), auto.arima() Time Series stats, forecast
Classification and Regression Trees (CART) rpart() Classification, Regression, Survival rpart
Exponential Smoothing State Space ets(), ses(), hw(), holt() Time Series forecast
Generalized Boosted Regression Models gbm() Classification, Regression, Survival gbm
Generalized Linear Model glm() Classification, Regression stats
Holt-Winters Filtering HoltWinters() Time Series stats, forecast
K-Centroids Clustering kcca() Clustering flexclust
K-Means Clustering kmeans() Clustering stats
k-Nearest Neighbour knn3(), knnreg(), ipredknn() Classification, Regression caret, ipred
Linear Discriminant Analysis lda() Classification MASS
Linear Model lm() Regression stats
Naive Bayes Classifier naiveBayes() Classification e1071
Random Forest randomForest() Classification, Regression randomForest
Regularized Generalized Linear Models glmnet(), cv.glmnet() Classification, Regression, Survival glmnet


The aurelius package is licensed under the Apache License 2.0.