NAME

Statistics::R::REXP::Expression - an R expression vector

VERSION

version 1.0002

SYNOPSIS

use Statistics::R::REXP::Expression

# Representation of the R call C<expresson(1 + 2))>:
my $vec = Statistics::R::REXP::Expression->new([
    Statistics::R::REXP::Language->new([
        Statistics::R::REXP::Symbol->new('+'),
        Statistics::R::REXP::Double->new([1]),
        Statistics::R::REXP::Double->new([2])
])]);
print $vec->elements;

DESCRIPTION

An object of this class represents an R expression vectors (EXPRSXP). These objects represent a list of calls, symbols, etc., for example as returned by calling R function parse or expression.

METHODS

Statistics::R::REXP:Expression inherits from Statistics::R::REXP::List, with no added restrictions on the value of its elements.

sexptype

SEXPTYPE of expressions is EXPRSXP.

to_pl

Perl value of the expression vector is an array reference to the Perl values of its elements. (That is, it's equivalent to map {$_-to_pl}, $vec->elements>.) Unlike List, elements that are atomic vectors of length 1 are still represented as a one-element array reference, rather than scalar values.

BUGS AND LIMITATIONS

Classes in the REXP hierarchy are intended to be immutable. Please do not try to change their value or attributes.

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