### Publications related to rPref

- P. Roocks. Computing Pareto Frontiers and Database Preferences with the rPref Package.
*In The R Journal, 8(2):393-404, 2016.*

*(First paper giving a comprehensive introduction to rPref)* - P. Roocks. Relational and Algebraic Calculi for Database Preferences.
*PhD thesis, University of Augsburg, 2016.*

(Mainly theoretical aspects of preferences, including some concepts for the implementation) - P. Roocks. Preference Decomposition and the Expressiveness of Preference Query Languages.
*In Mathematics of Program Construction (MPC 2015).*

(Theoretical research about the expressiveness of the preference query language of rPref) - M. Endres, P. Roocks, W. Kießling. Scalagon: An Efficient Skyline Algorithm for all Seasons.
*In Database Systems for Advanced Applications (DASFAA 2015).*

(The Scalagon algorithm is the default method for processing Pareto preferences in rPref) - P. Roocks, W. Kießling. R-Pref: Rapid Prototyping of Database Preference Queries in R
*In DATA '13. (First prototype of this package; all algorithms were implemented in R and hence quite slow)*

### Resources on Skylines/preferenes

- S. Börzsönyi, D. Kossmann, K. Stocker - The Skyline Operator (ICDE '01)
- W. Kießling - Foundations of preferences in database systems (VLDB '02)
- J. Chomicki - Preference formulas in relational queries (TODS)

### Related R resources

- dplyr for quick and easy access to the most important data manipulation functions. Used in rPref for the grouping functionality.
- Rgraphviz (only on Bioconductor) and igraph for drawing and manipulating graphs. Both are used in rPref for the plotting Better-Than-Graphs.
- lazyeval for lazy evaluation used for the base preferences in rPref.
- R6 for the R6 reference classes used to implement the preference objects.

If you are interested to use rPref for Skyline calculation on SQL databases I recommend the RJDBC Package for JDBC access from R.

For more information about package development and/or implementing C++ algorithms for R have a look at:

- The Rcpp package offering a very neat interface between R and C++. Typical R classes like data frames and vectors can be directly accessed in C++ and converted to the corresponding STL classes.
- The "Advanced R" site from Hadley Wickham offering an excellent tutorial on advanced R practices and on the R/C++ interface. Additionally, he published a very recommendable "R Packages" tutorial on package development. rPref was written according to the guidelines of this tutorial and by using the developer packages devtools, testthat and roxygen2.