R: Subsetting Vectors and Data Frames

subset {base} | R Documentation

## Subsetting Vectors and Data Frames

### Description

Return subsets of vectors or data frames which meet conditions.

### Usage

    subset(x, ...)

    ## Default S3 method:
    subset(x, subset, ...)

    ## S3 method for class 'data.frame':
    subset(x, subset, select, drop = FALSE, ...)

### Arguments

`x` | object to be subsetted.
`subset` | logical expression.
`select` | expression, indicating columns to select from a data frame.
`drop` | passed on to `[` indexing operator.
`...` | further arguments to be passed to or from other methods.

### Details

For ordinary vectors, the result is simply `x[subset & !is.na(subset)]`.

For data frames, the `subset` argument works similarly on the rows. Note that `subset` will be evaluated in the data frame, so columns can be referred to (by name) as variables.

The `select` argument exists only for the method for data frames. It works by first replacing names in the selection expression with the corresponding column numbers in the data frame and then using the resulting integer vector to index the columns. This allows the use of the standard indexing conventions so that for example ranges of columns can be specified easily.

The `drop` argument is passed on to the indexing method for data frames.

### Value

An object similar to `x` contain just the selected elements (for a vector), rows and columns (for a data frame), and so on.

### Author(s)

Peter Dalgaard

### See Also

`[`, `transform`

### Examples

    data(airquality)
    subset(airquality, Temp > 80, select = c(Ozone, Temp))
    subset(airquality, Day == 1, select = -Temp)
    subset(airquality, select = Ozone:Wind)

    with(airquality, subset(Ozone, Temp > 80))

[Package Contents]