| frename {collapse} | R Documentation |
A fast substitute for dplyr::rename. setrename renames objects by reference. These functions also work with objects other than data frames that have a 'names' attribute. relabel and setrelabel do that same for labels attached to list elements / data frame columns.
frename(.x, ..., cols = NULL) rnm(.x, ..., cols = NULL) # Shortcut for frename() setrename(.x, ..., cols = NULL) relabel(.x, ..., cols = NULL, attrn = "label") setrelabel(.x, ..., cols = NULL, attrn = "label")
.x |
an R object with a 'names' attribute. |
... |
either tagged vector expressions of the form |
cols |
If |
attrn |
character. Name of attribute to store labels or retrieve labels from. |
.x renamed / relabelled. setrename and setrelabel return .x invisibly.
Note that both relabel and setrelabel modify .x by reference. This is because labels are attached to columns themselves, making it impossible to avoid permanent modification by taking a shallow copy of the encompassing list / data.frame. On the other hand frename makes a shallow copy whereas setrename also modifies by reference.
Data Frame Manipulation, Collapse Overview
## Using tagged expressions
head(frename(iris, Sepal.Length = SL, Sepal.Width = SW,
Petal.Length = PL, Petal.Width = PW))
head(frename(iris, Sepal.Length = "S L", Sepal.Width = "S W",
Petal.Length = "P L", Petal.Width = "P W"))
## Using a function
head(frename(iris, tolower))
head(frename(iris, tolower, cols = 1:2))
head(frename(iris, tolower, cols = is.numeric))
head(frename(iris, paste, "new", sep = "_", cols = 1:2))
## Renaming by reference
# setrename(iris, tolower)
# head(iris)
# rm(iris)
## Relabelling (by reference)
# namlab(relabel(wlddev, PCGDP = "GDP per Capita", LIFEEX = "Life Expectancy"))
# namlab(relabel(wlddev, toupper))