**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.