Scroll to navigation

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

Returns a hash reference to the object's attributes.
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>.
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.
Returns TRUE if the object is an R "NULL" object. In "REXP"'s class hierarchy, this is the case only for "Statistics::REXP::Null".
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.
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