Statistics::R::REXP - base class for R objects ("SEXP"s)
Contents
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.
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
perl v5.34.0 2022-02-10 Statistics::R::REXP(3pm)
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>".
Name
Statistics::R::REXP - base class for R objects ("SEXP"s)
Overloads
"REXP" overloads the stringification, "eq" and "ne" methods; subclasses further specialize for their
types if necesssary.
Support
See Statistics::R::IO for support and contact information.
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;
Version
version 1.0002
