Table of Contents

About

R provides a number of specialized objects. They are created (instantiated), used and referenced through variable (known as symbol).

  • When you read the term object in the documentation, you can interchange it with the term variable (known as symbol)
  • The variable (known as symbol) are themselves objects

The variable (symbol) references objects.

The symbols are themselves objects and has wide ranging effects.

R have some reserved variable (system variable)

Example

  • Numeric
> x=1
# Implicit printing of the variable
> x   
[1] 1
# Explicit printing of the variable
> print(x)

The [1] indicates that x is of the vector class

> x+x
[1] 2

Structure

Type

The type determine the internal storage and can be seen as the primitive type of R.

See R - (Datatype|Type|Storage Mode) of an object (typeof, mode)

Class

The class properties permits R to have an object like behavior.

R supports several class (data structure) for an object:

And you can create yours.

Attribute

All objects except the NULL object can have one or more attributes.

Common R objects attributes are:

  • the element names,
  • dim(ension) attribute (e.g. matrices, arrays)
  • dimnames: the size and the name of each dimension of the object
  • class which stores the name of the class of the object
  • user-defined attributes

Attributes of an object can be listed using the attributes() function.

# data.frame object
x=data.frame(a=1:4,b=1:4,c=1:4)
attributes(x)
$names
[1] "a" "b" "c"

$row.names
[1] 1 2 3 4

$class
[1] "data.frame"

The value of a specific attribute can be obtained using the attr() function (or NULL if the attribute is not defined).

For example,

# data.frame object
x=data.frame(a=1:4,b=1:4,c=1:4)
attr(x, "class")
[1] "data.frame"

Management

Rename

newname <- oldname
rm(oldname)

List

List current objects (objects in the workspace)

ls()

ls shows you the variables

> x <- rnorm(50)
> y <- rnorm(x)
> ls()
[1] "x" "y"

Delete

rm(object)

# Delete all variables for the environment
rm(list = ls())
> rm(x, y)
> ls()
character(0)

Copy

newobject <- edit(object)

Diff

https://cran.r-project.org/web/packages/diffobj/README.html

Serialization

apropos (or find) returns a character vector of all objects matching the text searched.

apropos("myObject")

Functions

Structure

Structure of an object

str(object)  

Fix / Edit

# Open an editor and doesn't gives the possibility to change the definition
edit(object)
# 
# Open an editor and gives the possibility to change the values.
fix(object)  

View

View(object)

where object is an object that can be coerced to a data frame