Documentation for rpy2¶
This documentation describe the rpy2 package version 2.9 on Aug 03, 2017. This is still early development for the 2.9 series and while care is taken to keep the development branch functional at all times, and this documentation up-to-date, temporary issues may appear: please remember that this is software under development.
Use the released series (2.8.x) for production.
The first section contains a quick introduction, as well as how to get started (requirements, install rpy2). This should be the natural place to start if you are new to R, or rpy2. Hints for porting existing code to a newer version of rpy2 are also given.
- Getting started
- Porting code to rpy2
The high-level interface in rpy2 is designed to facilitate the use of R by Python programmers. R objects are exposed as instances of Python-implemented classes, with R functions as bound methods to those objects in a number of cases. This section also contains an introduction to graphics with R: trellis (lattice) plots as well as the grammar of graphics implemented in ggplot2 let one make complex and informative plots with little code written, while the underlying grid graphics allow all possible customization is outlined.
- High-level interface
- The robjects package
- Vectors and arrays
- R help
- Mapping rpy2 objects to arbitrary python objects
- DataFrames and dplyr
R is often used in a read-eval-print loop (REPL), where interactivity is important.
Utilities are available in
Users of the Python signature numerical package
numpy can continue using
the data structures they are familiar with, and share objects seamlessly with R.
A lower-level interface, closer to R’s C-level API, is available. It can be used when performance optimization is needed, or when extensions to the high-level interface are developped.
- Low-level interface
- Interactive features
- Class diagram
- Misc. variables
- Memory management and garbage collection
Finally, the documentation covers the subpackage with R-like Python classes and functions, callback functions, as well as compatibility with rpy-1.x. and benchmarks.
- Miscellaneous topics
- Related projects
- Custom graphical devices
The list of changes across versions can be helpful when upgrading to a newer version of rpy2.