TransposedDataFrame-class {S4Vectors} | R Documentation

## TransposedDataFrame objects

### Description

The TransposedDataFrame class is a container for representing a transposed DataFrame object, that is, a rectangular data container where the rows are the variables and the columns the observations.

A typical situation for using a TransposedDataFrame object is when one needs to store a DataFrame object in the `assay()` component of a SummarizedExperiment object but the rows in the DataFrame object should correspond to the samples and the columns to the features. In this case the DataFrame object must first be transposed so that the variables in it run "horizontally" instead of "vertically". See the Examples section at the bottom of this man page for an example.

### Details

TransposedDataFrame objects are constructed by calling `t()` on a DataFrame object.

Like for a DataFrame object, or, more generally, for a data-frame-like object, the length of a TransposedDataFrame object is its number of variables. However, unlike for a data-frame-like object, its length is also its number of rows, not its number of columns. For this reason, a TransposedDataFrame object is NOT considered to be a data-frame-like object.

### Author(s)

Hervé Pagès

### See Also

- DataFrame objects.

- SummarizedExperiment objects in the SummarizedExperiment package.

### Examples

    ## A DataFrame object with 3 variables:
    df <- DataFrame(aa=101:126, bb=letters, cc=Rle(c(TRUE, FALSE), 13),
                    row.names=LETTERS)
    dim(df)
    length(df)
    df$aa

    tdf <- t(df)
    tdf
    dim(tdf)
    length(tdf)
    tdf$aa

    t(tdf)  # back to 'df'
    stopifnot(identical(df, t(tdf)))

    tdf$aa <- 0.05 * tdf$aa

    ## A TransposedDataFrame object can be used in the assay() component of a
    ## SummarizedExperiment object if the transposed layout is needed i.e. if
    ## the rows and columns of the original DataFrame object need to be treated
    ## as the samples and features (in this order) of the SummarizedExperiment
    ## object:
    library(SummarizedExperiment)
    se1 <- SummarizedExperiment(df)
    se1
    assay(se1)  # the 3 variables run "vertically"

    se2 <- SummarizedExperiment(tdf)
    se2
    assay(se2)  # the 3 variables run "horizontally"

[Package S4Vectors version 0.25.15 Index]