DataFrameList-class: List of DataFrames

DataFrameList-classR Documentation

List of DataFrames

Description

Represents a list of DataFrame objects. The SplitDataFrameList class contains the additional restriction that all the columns be of the same name and type. Internally it is stored as a list of DataFrame objects and extends List.

Accessors

In the following code snippets, x is a DataFrameList.

dims(x):

Get the two-column matrix indicating the number of rows and columns over the entire dataset.

dimnames(x):

Get the list of two CharacterLists, the first holding the rownames (possibly NULL) and the second the column names.

In the following code snippets, x is a SplitDataFrameList.

commonColnames(x):

Get the character vector of column names present in the individual DataFrames in x.

commonColnames(x) <- value:

Set the column names of the DataFrames in x.

columnMetadata(x):

Get the DataFrame of metadata along the columns, i.e., where each column in x is represented by a row in the metadata. The metadata is common across all elements of x. Note that calling mcols(x) returns the metadata on the DataFrame elements of x.

columnMetadata(x) <- value:

Set the DataFrame of metadata for the columns.

Subsetting

In the following code snippets, x is a SplitDataFrameList. In general x follows the conventions of SimpleList/CompressedList with the following addition:

x[i,j,drop]:

If matrix subsetting is used, i selects either the list elements or the rows within the list elements as determined by the [ method for SimpleList/CompressedList, j selects the columns, and drop is used when one column is selected and output can be coerced into an AtomicList or IntegerRangesList subclass.

x[i,j] <- value:

If matrix subsetting is used, i selects either the list elements or the rows within the list elements as determined by the [<- method for SimpleList/CompressedList, j selects the columns and value is the replacement value for the selected region.

Constructor

DataFrameList(...):

Concatenates the DataFrame objects in ... into a new DataFrameList.

SplitDataFrameList(..., compress = TRUE, cbindArgs = FALSE):

If cbindArgs is FALSE, the ... arguments are coerced to DataFrame objects and concatenated to form the result. The arguments must have the same number and names of columns. If cbindArgs is TRUE, the arguments are combined as columns. The arguments must then be the same length, with each element of an argument mapping to an element in the result. If compress = TRUE, returns a CompressedSplitDataFrameList; else returns a SimpleSplitDataFrameList.

Combining

In the following code snippets, objects in ... are of class DataFrameList.

rbind(...):

Creates a new DataFrameList containing the element-by-element row concatenation of the objects in ....

cbind(...):

Creates a new DataFrameList containing the element-by-element column concatenation of the objects in ....

Transformation

transform(`_data`, ...):

Transforms a SplitDataFrame in a manner analogous to the base transform, where the columns are List objects adhering to the structure of _data.

Coercion

In the following code snippets, x is a DataFrameList.

as(from, "DataFrame"):

Coerces a SplitDataFrameList to a DataFrame, which has a column for every column in from, except each column is a List with the same structure as from.

as(from, "SplitDataFrameList"):

By default, simply calls the SplitDataFrameList constructor on from. If from is a List, each element of from is passed as an argument to SplitDataFrameList, like calling as.list on a vector. If from is a DataFrame, each row becomes an element in the list.

stack(x, index.var = "name"):

Unlists x and adds a column named index.var to the result, indicating the element of x from which each row was obtained.

as.data.frame(x, row.names = NULL, optional = FALSE, ..., value.name = "value", use.outer.mcols = FALSE, group_name.as.factor = FALSE):

Coerces x to a data.frame. See as.data.frame on the List man page for details (?List).

Author(s)

Michael Lawrence, with contributions from Aaron Lun

See Also

DataFrame

Examples

# Making a DataFrameList, which has different columns.
out <- DataFrameList(DataFrame(X=1, Y=2), DataFrame(A=1:2, B=3:4))
out[[1]]

# A more interesting SplitDataFrameList, which is guaranteed
# to have the same columns.
out <- SplitDataFrameList(DataFrame(X=1, Y=2), DataFrame(X=1:2, Y=3:4))
out[[1]]
out[,"X"]
out[,"Y"]

commonColnames(out)
commonColnames(out) <- c("x", "y")
out[[1]]

# We can also create these split objects using various split() functions:
out <- splitAsList(DataFrame(X=runif(100), Y=rpois(100, 5)),
    sample(letters, 100, replace=TRUE))
out[['a']]

Bioconductor/IRanges documentation built on Nov. 17, 2024, 6:54 p.m.