DOKK / manpages / debian 12 / libstatistics-r-io-perl / Statistics::R::REXP::Environment.3pm.en
Statistics::R::REXP::Environment(3pm) User Contributed Perl Documentation Statistics::R::REXP::Environment(3pm)

Statistics::R::REXP::Environment - an R environment

version 1.0002

    use Statistics::R::REXP::Environment
    
    my $env = Statistics::R::REXP::Environment->new({
        x => Statistics::R::REXP::Character->new(['foo', 'bar']),
        b => Statistics::R::REXP::Double->new([1, 2, 3]),
    });
    print $env->elements;

An object of this class represents an R environment ("ENVSXP"). Environments in R consist of a frame, a set of symbol-value pairs, and an enclosure, a pointer to an enclosing (also called "parent") environment. Environments form a tree structure, with a special emptyenv environment at the root, which has no parent.

These objects represent calls (such as model formulae), with first element a reference to the function being called, and the remainder the actual arguments of the call. Names of arguments, if given, are recorded in the 'names' attribute (itself as Statistics::R::REXP::Character vector), with unnamed arguments having name ''. If no arguments were named, the environment objects will not have a defined 'names' attribute.

You shouldn't create instances of this class, it exists mainly to handle deserialization of "ENVSXP"s by the "IO" classes.

"Statistics::R::REXP:Environment" inherits from Statistics::R::REXP::Vector, with the added restriction that its first element has to be a Statistics::R::REXP::Symbol or another "Environment" instance. Trying to create a Environment instance that doesn't follow this restriction will raise an exception.

ACCESSORS

Returns a reference to the hash of symbol-value pairs representing the environment's frame, i.e., the variable with bound values in the environment.
Returns a reference to the parent Environment, if it is defined.
Environments can be named, although this is not normally settable from R code. Typically, only the system environments (such as namespaces), and environments created by "attach"-ing an object, have a name.
SEXPTYPE of environments is "ENVSXP".
Environments do not have a native Perl representation and trying to call this access will raise an exception.

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.

See Statistics::R::IO for support and contact information.

Davor Cubranic <cubranic@stat.ubc.ca>

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