| lama_mutate {labelmachine} | R Documentation | 
Change or append a variable translation to an existing lama_dictionary object
Description
The functions lama_mutate() and lama_mutate_() alter a
lama_dictionary object. They can be used to alter,
delete or append a translations to a
lama_dictionary object.
The function lama_mutate() uses named arguments to assign the translations
to the new names (similar to dplyr::mutate), whereas the function
lama_mutate_() is takes a character string key holding the
name to which the translation should be assigned and a named character
vector translation holding the actual translation mapping.
Usage
lama_mutate(.data, ...)
## S3 method for class 'lama_dictionary'
lama_mutate(.data, ...)
lama_mutate_(.data, key, translation)
## S3 method for class 'lama_dictionary'
lama_mutate_(.data, key, translation)
Arguments
.data | 
 A lama_dictionary object  | 
... | 
 One or more unquoted expressions separated by commas. Use named
arguments, e.g.   | 
key | 
 The name of the variable translation that should be altered. It can also be variable translation name that does not exist yet.  | 
translation | 
 A named character vector holding the new variable
translation that should be assigned to the name given in argument   | 
Value
An updated lama_dictionary class object.
See Also
lama_translate(), lama_to_factor(), lama_translate_all(),
lama_to_factor_all(), new_lama_dictionary(),
as.lama_dictionary(), lama_rename(), lama_select(),
lama_merge(), lama_read(), lama_write()
Examples
  # initialize lama_dictinoary
  dict <- new_lama_dictionary(
    subject = c(en = "English", ma = "Mathematics"),
    result = c("1" = "Very good", "2" = "Good", "3" = "Not so good")
  )
 
  ## Example-1: mutate and append with 'lama_mutate'
  # add a few subjects and a few grades
  dict_new <- lama_mutate(
    dict, 
    subject = c(bio = "Biology", subject, sp = "Sports"),
    result = c("0" = "Beyond expectations", result, "4" = "Failed", NA_ = "Missed")
  )
  # the subjects "Biology" and "Sports" were added
  # and the results "Beyond expectations", "Failed" and "Missed"
  dict_new
  ## Example-2: delete with 'lama_mutate'
  dict_new <- lama_mutate(
    dict, 
    subject = NULL
  )
  dict_new
  ## Example-3: Alter and append with 'lama_mutate_'
  # generate the new translation (character string)
  subj <- c(
    bio = "Biology",
    lama_get(dict, subject),
    sp = "Sports"
  )
  # save the translation under the name "subject"
  dict_new <- lama_mutate_(
    dict,
    key = "subject",
    translation = subj
  )
  # the translation "subject" now also contains
  # the subjects "Biology" and "Sports"
  dict_new
  ## Example-4: Delete with 'lama_mutate_'
  # save the translation under the name "subject"
  dict_new <- lama_mutate_(
    dict,
    key = "subject",
    translation = NULL
  )
  # the translation "subject" was deleted
  dict_new