table of contents
Statistics::R::REXP(3pm) | User Contributed Perl Documentation | Statistics::R::REXP(3pm) |
NAME¶
Statistics::R::REXP - base class for R objects ("SEXP"s)
VERSION¶
version 1.0002
SYNOPSIS¶
use Statistics::R::REXP; # we usually get REXPs from an RDS file: my $rexp = Statistics::R::IO::readRDS('file.rds'); # REXPs are stringifiable say $rexp; # REXPs can be converted to the closest native Perl data type print $rexp->to_pl;
DESCRIPTION¶
An object of this class represents a native R object. This class cannot be directly instantiated (it will die if you call "new" on it), because it is intended as a base abstract class with concrete subclasses to represent specific object types.
An R object has a value and an optional set of named attributes, which themselves are R objects. Because the meaning of 'value' depends on the actual object type (for example, a vector vs. a "NULL", in R terminology), "REXP" does not provide a generic value accessor method, although individual subclasses will typically have one.
METHODS¶
- attributes
- Returns a hash reference to the object's attributes.
- sexptype
- Returns the name of the corresponding R SEXP type, as listed in SEXPTYPE <http://cran.r-project.org/doc/manuals/r-release/R-ints.html#SEXPTYPEs>.
- to_pl
- Returns Perl representation of the object's value. This is an abstract method; see concrete subclasses for the value returned by specific object types, as well as the way to access the R (-ish) value of the object, if such makes sense.
- is_null
- Returns TRUE if the object is an R "NULL" object. In "REXP"'s class hierarchy, this is the case only for "Statistics::REXP::Null".
- is_vector
- Returns TRUE if the object is an R vector object. In "REXP"'s class hierarchy, this is the case only for "Statistics::REXP::Vector" and its descendants.
- inherits CLASS_NAME
- Returns TRUE if the object is an instance of R S3-style class "CLASS_NAME", in the same fashion as the R function "base::inherits <http://stat.ethz.ch/R-manual/R-patched/library/base/html/class.html>".
OVERLOADS¶
"REXP" overloads the stringification, "eq" and "ne" methods; subclasses further specialize for their types if necesssary.
BUGS AND LIMITATIONS¶
Classes in the "REXP" hierarchy are intended to be immutable. Please do not try to change their value or attributes.
More "is_*" accessors should be added.
There are no known bugs in this module. Please see Statistics::R::IO for bug reporting.
SUPPORT¶
See Statistics::R::IO for support and contact information.
AUTHOR¶
Davor Cubranic <cubranic@stat.ubc.ca>
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2017 by University of British Columbia.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007
2022-02-10 | perl v5.34.0 |