refactor: Rename and Collapse Existing Factor Levels

Description Usage Arguments Details Value Author(s) References Examples

Description

This function takes a vector object as input, and encodes (or re-encodes, as appropriate) the vector as a factor with levels corresponding to newlevels, a list object.

Usage

1
refactor(x, newlevels, includeNA = FALSE)

Arguments

x

A vector.

newlevels

A list of levels to use for refactoring, named according to the original levels of x.

includeNA

Boolean; should NA values be included as a level, and possibly renamed?

Details

This is merely a convenience function to simplify renaming and collapsing factor levels. Original code written by Marek Szatkowski – only difference here is slight change to handle NA values.

Value

The functions returns x, with levels collapsed/renamed according to newlevels.

Author(s)

Marek Szatkowski

References

https://stackoverflow.com/questions/10431403/idiom-for-ifelse-style-recoding-for-multiple-categories/10432263#10432263

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Not run: 
test$tpt <- refactor(test$tpt, list("1-2hr Post-dose"=c("1-2 HOUR POST DOS",
"1-2 HOUR POST DOSE", "1-2 HR POSTDOSE", "1 HOUR POST DOSE"), "6-10hr Post-dose"="6-10 HOUR POST DOSE"))

# To include NA as a factor level and reclassify:

test$tpt <- refactor(test$tpt, list("1-2hr Post-dose"=c("1-2 HOUR POST DOS", "1-2 HOUR POST DOSE",
"1-2 HR POSTDOSE", "1 HOUR POST DOSE"), "6-10hr Post-dose"="6-10 HOUR POST DOSE", "Pre-dose"=NA), includeNA=TRUE)

## End(Not run)

rpkyle/cscmisc documentation built on May 13, 2019, 12:06 p.m.