From 8a556c068e65c7d59a840e76fb33890b3f688f96 Mon Sep 17 00:00:00 2001 From: hadley Date: Thu, 20 Nov 2014 13:11:53 -0600 Subject: [PATCH] Implement add_rownames() Closes #639 --- NAMESPACE | 1 + R/dataframe.R | 19 +++++++++++++++++++ man/add_rownames.Rd | 22 ++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 man/add_rownames.Rd diff --git a/NAMESPACE b/NAMESPACE index 20bdab255f..399c9a6fdd 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -289,6 +289,7 @@ S3method(update,tbl_sql) export("%.%") export("%>%") export(.datatable.aware) +export(add_rownames) export(anti_join) export(arrange) export(arrange_) diff --git a/R/dataframe.R b/R/dataframe.R index b7808aa722..ee2530ad74 100644 --- a/R/dataframe.R +++ b/R/dataframe.R @@ -130,3 +130,22 @@ as_data_frame <- function(x) { x } + +#' Convert row names to an explicit variable. +#' +#' @param df Input data frame with rownames. +#' @param var Name of variable to use +#' @export +#' @examples +#' mtcars %>% +#' tbl_df() %>% +#' print() %>% +#' add_rownames() +add_rownames <- function(df, var = "rowname") { + stopifnot(is.data.frame(df)) + + df[[var]] <- rownames(df) + rownames(df) <- NULL + + df +} diff --git a/man/add_rownames.Rd b/man/add_rownames.Rd new file mode 100644 index 0000000000..aec5a90623 --- /dev/null +++ b/man/add_rownames.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2 (4.0.2): do not edit by hand +\name{add_rownames} +\alias{add_rownames} +\title{Convert row names to an explicit variable.} +\usage{ +add_rownames(df, var = "rowname") +} +\arguments{ +\item{df}{Input data frame with rownames.} + +\item{var}{Name of variable to use} +} +\description{ +Convert row names to an explicit variable. +} +\examples{ +mtcars \%>\% + tbl_df() \%>\% + print() \%>\% + add_rownames() +} +