Learn R Programming

memisc (version 0.99.31.7)

relabel: 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

# S3 method for default
relabel(x, ..., gsub = FALSE, fixed = TRUE, warn = TRUE)
# S3 method for factor
relabel(x, ..., gsub = FALSE, fixed = TRUE, warn = TRUE)

# S4 method for item relabel4(x, ...) # This is an internal method, see details. # Use relabel(x, \dots) for 'item' objects

Value

The object x with new labels defined by the ... arguments.

Arguments

x

An object with a names, labels, value.labels, or variable.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.

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

Run this code
  f <- as.factor(rep(letters[1:4],5))
  levels(f)
  F <- relabel(f,
    a="A",
    b="B",
    c="C",
    d="D"
    )
  levels(F)
  
  f <- as.item(f)
  labels(f)
  F <- relabel(f,
    a="A",
    b="B",
    c="C",
    d="D"
    )
  labels(F)

  # Since version 0.99.22 - the following also works:

  f <- as.factor(rep(letters[1:4],5))
  levels(f)
  F <- relabel(f,
    a=A,
    b=B,
    c=C,
    d=D
    )
  levels(F)
  
  f <- as.item(f)
  labels(f)
  F <- relabel(f,
    a=A,
    b=B,
    c=C,
    d=D
    )
  labels(F)
  

Run the code above in your browser using DataLab