This function rotates a data frame, i.e. columns become rows and vice versa.
rotate_df(x, rn = NULL, cn = FALSE)
A data frame.
Character vector (optional). If not NULL
, the data frame's
rownames will be added as (first) column to the output, with
rn
being the name of this column.
Logical (optional), if TRUE
, the values of the first column
in x
will be used as column names in the rotated data frame.
A (rotated) data frame.
# NOT RUN {
x <- mtcars[1:3, 1:4]
rotate_df(x)
rotate_df(x, rn = "property")
# use values in 1. column as column name
library(tibble)
x <- tibble::rownames_to_column(x)
rotate_df(x)
rotate_df(x, cn = TRUE)
rotate_df(x, rn = "property", cn = TRUE)
# also works on list-results
library(purrr)
dat <- mtcars[1:3, 1:4]
tmp <- purrr::map(dat, function(x) {
sdev <- stats::sd(x, na.rm = TRUE)
ulsdev <- mean(x, na.rm = TRUE) + c(-sdev, sdev)
names(ulsdev) <- c("lower_sd", "upper_sd")
ulsdev
})
tmp
as.data.frame(tmp)
rotate_df(tmp)
tmp <- purrr::map_df(dat, function(x) {
sdev <- stats::sd(x, na.rm = TRUE)
ulsdev <- mean(x, na.rm = TRUE) + c(-sdev, sdev)
names(ulsdev) <- c("lower_sd", "upper_sd")
ulsdev
})
tmp
rotate_df(tmp)
# }
Run the code above in your browser using DataLab