1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
trim <- function(s, recode.factor=TRUE, ...)
UseMethod("trim", s)
trim.default <- function(s, recode.factor=TRUE, ...)
s
trim.character <- function(s, recode.factor=TRUE, ...)
{
s <- sub(pattern="^[[:blank:]]+", replacement="", x=s)
s <- sub(pattern="[[:blank:]]+$", replacement="", x=s)
s
}
trim.factor <- function(s, recode.factor=TRUE, ...)
{
levels(s) <- trim(levels(s))
if(recode.factor) {
dots <- list(x=s, ...)
if(is.null(dots$sort)) dots$sort <- sort
s <- do.call(what="reorder.factor", args=dots)
}
s
}
trim.list <- function(s, recode.factor=TRUE, ...)
lapply(s, trim, recode.factor=recode.factor, ...)
trim.data.frame <- function(s, recode.factor=TRUE, ...)
{
s[] <- trim.list(s, recode.factor=recode.factor, ...)
s
}
|