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.
devtools::install_github('opendatagroup/hadrian', subdir='aurelius')
library("aurelius")
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")
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.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.