memisc (version 0.99.27.3)

deduplicate_labels: Handle duplicated labels

Description

The function deduplicate_labels can be used with "item" objects, "importer" objects or "data.set" objects to deal with duplicate labels, i.e. labels that are attached to more than one code. There are several ways to de-duplicate labels: by combining values that share their label or by making labels duplicate labels distinct.

Usage

deduplicate_labels(x,…)
# S3 method for item
deduplicate_labels(x,
    method=c("combine codes",
             "prefix values",
             "postfix values"),…)
# Applicable to 'importer' objects and 'data.set' objects
# S3 method for item.list
deduplicate_labels(x,…)

Arguments

x

an item with value labels or that contains items with value labels

method

a character string that determines the method to make value labels unique.

other arguments, passed to specific methods of the generic function.

Value

The function deduplicate_labels a copy of x that has unqiue value labels.

Examples

Run this code
# NOT RUN {
x1 <- as.item(rep(1:5,4),
              labels=c(
                  A = 1,
                  A = 2,
                  B = 3,
                  B = 4,
                  C = 5
              ),
              annotation = c(
                  description="Yet another test"
))
              
x2 <- as.item(rep(1:4,5),
              labels=c(
                  i   = 1,
                  ii  = 2,
                  iii = 3,
                  iii = 4
                  ),
              annotation = c(
                  description="Still another test"
))

x3 <- as.item(rep(1:2,10),
              labels=c(
                  a = 1,
                  b = 2
                  ),
              annotation = c(
                  description="Still another test"
))
                            
codebook(deduplicate_labels(x1))
codebook(deduplicate_labels(x1,method="prefix"))
codebook(deduplicate_labels(x1,method="postfix"))

ds <- data.set(x1,x2,x3)
codebook(deduplicate_labels(ds))
codebook(deduplicate_labels(ds,method="prefix"))
codebook(deduplicate_labels(ds,method="postfix"))

# }

Run the code above in your browser using DataCamp Workspace