rotate_dimensions {tidybulk} | R Documentation

## Rotate two dimensions (e.g., principal components) of an arbitrary angle

### Description

rotate_dimensions() takes as input a 'tbl' formatted as | <DIMENSION 1> | <DIMENSION 2> | <...> | and calculates the rotated dimensional space of the transcript abundance.

### Usage

    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

    ## S4 method for signature 'spec_tbl_df'
    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

    ## S4 method for signature 'tbl_df'
    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

    ## S4 method for signature 'tidybulk'
    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

    ## S4 method for signature 'SummarizedExperiment'
    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

    ## S4 method for signature 'RangedSummarizedExperiment'
    rotate_dimensions(
      .data,
      dimension_1_column,
      dimension_2_column,
      rotation_degrees,
      .element = NULL,
      of_samples = TRUE,
      dimension_1_column_rotated = NULL,
      dimension_2_column_rotated = NULL,
      action = "add"
    )

### Arguments

`.data` | A 'tbl' formatted as | <SAMPLE> | <TRANSCRIPT> | <COUNT> | <...> |
`dimension_1_column` | A character string. The column of the dimension 1
`dimension_2_column` | A character string. The column of the dimension 2
`rotation_degrees` | A real number between 0 and 360
`.element` | The name of the element column (normally samples).
`of_samples` | A boolean. In case the input is a tidybulk object, it indicates Whether the element column will be sample or transcript column
`dimension_1_column_rotated` | A character string. The column of the rotated dimension 1 (optional)
`dimension_2_column_rotated` | A character string. The column of the rotated dimension 2 (optional)
`action` | A character string. Whether to join the new information to the input tbl (add), or just get the non-redundant tbl with the new information (get).

### Details

'r lifecycle::badge("maturing")'

This function to rotate two dimensions such as the reduced dimensions.

Underlying custom method: rotation = function(m, d) // r = the angle // m data matrix r = d * pi / 180 ((dplyr::bind_rows( c('1' = cos(r), '2' = -sin(r)), c('1' = sin(r), '2' = cos(r)) )

### Value

A tbl object with additional columns for the reduced dimensions. additional columns for the rotated dimensions. The rotated dimensions will be added to the original data set as '<NAME OF DIMENSION> rotated <ANGLE>' by default, or as specified in the input arguments.

A tbl object with additional columns for the reduced dimensions. additional columns for the rotated dimensions. The rotated dimensions will be added to the original data set as '<NAME OF DIMENSION> rotated <ANGLE>' by default, or as specified in the input arguments.

A tbl object with additional columns for the reduced dimensions. additional columns for the rotated dimensions. The rotated dimensions will be added to the original data set as '<NAME OF DIMENSION> rotated <ANGLE>' by default, or as specified in the input arguments.

A tbl object with additional columns for the reduced dimensions. additional columns for the rotated dimensions. The rotated dimensions will be added to the original data set as '<NAME OF DIMENSION> rotated <ANGLE>' by default, or as specified in the input arguments.

A 'SummarizedExperiment' object

A 'SummarizedExperiment' object

### Examples

    counts.MDS =
     tidybulk::se_mini %>%
     identify_abundant() %>%
     reduce_dimensions( method="MDS", .dims = 3)

    counts.MDS.rotated =  rotate_dimensions(counts.MDS, `Dim1`, `Dim2`, rotation_degrees = 45, .element = sample)

[Package tidybulk version 1.4.0 Index]