represents an internal form of an R vector in RLink.
- Possible values for type are: "integer", "double", "complex", "logical", and "character".
- data must be a one-dimensional list, whose elements must be all of the same type:
"integer" Integer "double" Real "complex" Complex "logical" True|False "character" String
- In addition, missing elements are allowed, represented by Missing.
- attributes must have the form RAttributes["name1":> value1,]…], where values of attributes can be any R objects handled by RLink.
- Multidimensional R arrays are represented by RVector, with the dimensions attribute "dim" necessarily present among the vector attributes.
Unless there are some extra attributes present in a given R vector, you can usually use a simpler and more familiar Wolfram Language notation, representing vectors as (possibly nested) lists, for all RLink-related operations, so the above would just be equivalent to:
The form involving RVector is, however, more "fundamental", since all expressions are translated into this form before being sent to R, and from this form when obtained from R. The "direct translation" is done with the function ToRForm:
Note that vectors can only contain elements of the same native type. The RLink automatic type detection will interpret a list with elements of different types as an R list (RList), rather than an R vector:
Note the RObject head. In contrast to heads used for "internal" RLink representation of R objects, such as RVector, RList, and RNull, the head RObject represents the "final" Wolfram Language-side version of an R object, being just a generic container. You can use ToRForm to see the "internal" representation, which involves RVector, since the resulting object is still a vector: