as.data.frame {base} | R Documentation

## Coerce to a Data Frame

### Description

Functions to check if an object is a data frame, or coerce it if possible.

### Usage

    as.data.frame(x, row.names = NULL, optional = FALSE)
    is.data.frame(x)

### Arguments

`x` | any R object.
`row.names` | `NULL` or a character vector giving the row names for the data frame. Missing values are not allowed.
`optional` | logical. If `TRUE`, setting row names and converting column names (to syntactic names) is optional.

### Details

`as.data.frame` is a generic function with many methods, and users and packages can supply further methods.

If a list is supplied, each element is converted to a column in the data frame. Similarly, each column of a matrix is converted separately. This can be overridden if the object has a class which has a method for `as.data.frame`: two examples are matrices of class `"model.matrix"` (which are included as a single column) and list objects of class `"POSIXlt"` which are coerced to class `"POSIXct"`

Character variables are converted to factor columns unless protected by `I`.

If a data frame is supplied, all classes preceding `"data.frame"` are stripped, and the row names are changed if that argument is supplied.

If `row.names = NULL`, row names are constructed from the names or dimnames of `x`, otherwise are the integer sequence starting at one. Few of the methods check for duplicated row names.

### Value

`as.data.frame` returns a data frame, normally with all row names `""` if `optional = TRUE`.
`is.data.frame` returns `TRUE` if its argument is a data frame (that is, has `"data.frame"` amongst its classes) and `FALSE` otherwise.

### Note

In versions of R prior to 1.4.0 logical columns were converted to factors (as in S3 but not S4).

### References

Chambers, J. M. (1992) Data for models. Chapter 3 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

### See Also

`data.frame`

[Package Contents]