Figure: x

The rPref Package

Database Preferences and Skyline Computation in R

The history of rPref

  • Previous project "R-Pref" (until end of 2013): Our first approach to implement preferences in R was the R-Pref project, where all the preference evaluation algorithms were written directly in R. This turned out to be quite slow and hence can be considered as a "toy tool" for experimenting with new preference concepts. R-Pref was presented at DATA 2013 conference in Reykjavik, see:
    P. Roocks, W. Kießling. R-Pref: Rapid Prototyping of Database Preference Queries in R (conference submission at DATA '13)
  • version 0.1, August 4th, 2014: We submitted the first version of rPref (v0.1) to CRAN, an R package where an efficient preference computation was possible due to algorithms in C++ using RCpp.
  • version 0.2, October 14th, 2014: More efficient algorithms, more functionality for visualization and an enriched Top-k interface.
  • version 0.3, November 17th, 2014: Mainly bug fixes and some new functions to convert preferences to query strings and diagrams.
  • version 0.4, January 15th, 2015: New functions to retrieve predecessors and successors in the Better-Than-Graph of a preference.
  • version 0.5, March 21th, 2015: Base preferences can handle expressions, which can be used to construct user defined preference constructors. Enhanced functionality of predecessors/successors functions.
  • version 0.6, August 23th, 2015: Enhanced functionality of base preference constructors and more visualization options.
  • version 0.7, October 28th, 2015: New utility functions like is.preference, is.complex_pref. as.expression is overloaded for preference objects, reorganized the documentation.
  • version 1.0, April 19th, 2016: New function get_btg_dot for generating Better-Than-Graphs with the dot layouter, fixed compatibility issues with new versions of dplyr and testthat.
  • version 1.1, September 1st, 2016: Better-Than-Graphs can be plotted using Rgraphviz, base preferences support lazy evaluations, preference objects can have associated data sets and many internal implementation changes (R6 classes, shared pointers in the C++ algorithms).
  • version 1.2, December 17th, 2016: Changed from reference classes to the S4 object system. This version of the package was presented in an article in the R Journal.
  • version 1.3, February 16th, 2019: Fixed compatibility issues to the newly released dplyr 0.8.0.1.
  • version 1.4.0, January 31th, 2023: Fixed C++ code quality issues which raised warnings on CRAN.