Extract {base} | R Documentation |
Operators act on vectors, arrays, dataframes and lists to extract or replace subsets.
x[i]
x[i, j, ...]
x[i, j, ... , drop=TRUE]
x[[i]]
x[[i, j, ...]]
x$name
i , j , name |
elements to extract or replace |
drop |
For data frames, matrices, and arrays. If |
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.
list
, array
, matrix
.
Syntax
for operator precedence.
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