This help topic is for R version 1.5.0. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/Extract.html
Extract {base}R Documentation

Extract or Replace Parts of an Object

Description

Operators act on vectors, arrays, dataframes and lists to extract or replace subsets.

Usage

x[i]
x[i, j, ...]
x[i, j, ... , drop=TRUE]
x[[i]]
x[[i, j, ...]]
x$name

Arguments

i, j, name

elements to extract or replace

drop

For data frames, matrices, and arrays. If TRUE the result is coerced to the lowest possible dimension (see examples below).

Details

If one of these expressions appears on the left side of an assignment then that part of x is set to the value of the right hand side of the assignment.

These operators are generic. You can write methods to handle subsetting of specific classes of data.

The [[ operator requires all relevant subscripts be supplied. With the [ operator a comma separated blank indicates that all entries in that dimension are selected.

When [.data.frame is used for subsetting rows of a data.frame, it returns a dataframe with unique row names, using make.names( * , unique = TRUE), see the swiss example below.

When operating on a list, the [[ operator gives the specified element of the list while the [ operator returns a list with the specified element(s) in it.

The operators $ and $<- do not evaluate their second argument. It is translated to a string and that string is used to locate the correct component of the first argument.

See Also

list, array, matrix.

Syntax for operator precedence.

Examples

x <- 1:12; m <- matrix(1:6,nr=2); li <- list(pi=pi, e = exp(1))
x[10]                 # the tenth element of x
m[1,]                 # the first row of matrix m
m[1, , drop = FALSE]  # is a 1-row matrix
li[[1]]               # the first element of list li
y <- list(1,2,a=4,5)
y[c(3,4)]             # a list containing elements 3 and 4 of y
y$a                   # the element of y named a

data(swiss)
swiss[ c(1, 1:2), ]   # duplicate row, unique row names

[Package base version 1.5.0 ]