Change labels of factors or labelled objects¶
Description¶
Function relabel
changes the labels of a factor or any object that has a names
,
labels
, value.labels
, or variable.labels
attribute. Function relabel4
is
an (internal) generic which is called by relabel
to handle S4 objects.
Usage¶
## S4 method for signature 'default'
relabel(x, ..., gsub = FALSE, fixed = TRUE, warn = TRUE)
## S4 method for signature 'factor'
relabel(x, ..., gsub = FALSE, fixed = TRUE, warn = TRUE)
## S4 method for signature 'item'
relabel4(x, ...)
# This is an internal method, see details.
# Use relabel(x, \dots) for 'item' objects
Arguments¶
x
-
An object with a
names
,labels
,value.labels
, orvariable.labels
attribute ...
-
A sequence of named arguments, all of type character
gsub
-
a logical value; if TRUE,
gsub
is used to change the labels of the object. That is, instead of substituting whole labels, substrings of the labels of the object can changed. fixed
-
a logical value, passed to
gsub
. If TRUE, substitutions are by fixed strings and not by regular expressions. warn
-
a logical value; if TRUE, a warning is issues if a a change of labels was unsuccessful.
Value¶
The object x
with new labels defined by the … arguments.
Details¶
This function changes the names or labels of x
according to the remaining arguments.
If gsub
is FALSE, argument tags are the old labels, the values are the new labels.
If gsub
is TRUE, arguments are substrings of the labels that are substituted by the
argument values.
Function relabel
is S3 generic. If its first argument is an S4 object, it calls the
(internal) relabel4
generic function.
Examples¶
f <- as.factor(rep(letters[1:4],5))
levels(f)
[1] "a" "b" "c" "d"
F <- relabel(f,
a="A",
b="B",
c="C",
d="D"
)
levels(F)
[1] "A" "B" "C" "D"
f <- as.item(f)
labels(f)
Values and labels:
1 'a'
2 'b'
3 'c'
4 'd'
F <- relabel(f,
a="A",
b="B",
c="C",
d="D"
)
labels(F)
Values and labels:
1 'A'
2 'B'
3 'C'
4 'D'
# Since version 0.99.22 - the following also works:
f <- as.factor(rep(letters[1:4],5))
levels(f)
[1] "a" "b" "c" "d"
F <- relabel(f,
a=A,
b=B,
c=C,
d=D
)
levels(F)
[1] "A" "B" "C" "D"
f <- as.item(f)
labels(f)
Values and labels:
1 'a'
2 'b'
3 'c'
4 'd'
F <- relabel(f,
a=A,
b=B,
c=C,
d=D
)
labels(F)
Values and labels:
1 'A'
2 'B'
3 'C'
4 'D'