Variante de [] pour objet fmtsas_c, prenant en compte une possible valeur par défaut.

# S3 method for fmtsas_c
[(x, i, keep_na = FALSE)

Arguments

x

objet sur lequel on veut procéder à une extraction/conversion.

i

noms des éléments à extraire ou convertir.

keep_na

conserver les valeurs manquantes telles quelles. Par défaut FALSE : les NA seront remplacés par la valeur other (comme dans SAS).

Value

Un vecteur caractère non nommé, de même taille que le vecteur passé en paramètre i.

Details

L'opérateur [] pour un objet "fmtsas_c" s'utilise de la même façon que le [] habituel. La différence est qu'il remplace les valeurs inconnues par la valeur définie dans l'attribut "other". Si cet attribut n'est pas présent, les valeurs initiales sont conservées telles quelles.

Autres particularités :

  • il ne s'utilise qu'avec un vecteur caractère en paramètre (pas d'entiers, ni de booléens). Un facteur est aussi possible, il sera transformé en caractère ;

  • le résultat est dépourvu de noms d'éléments.

Examples

# construit un objet fmtsas_c
conv <- fmtsas_c(c("A" = "LIB_A", "B" = "LIB_B"), other = "?")

# effectue une conversion
conv[c("A", "A", "B", "C", NA)]
#> [1] "LIB_A" "LIB_A" "LIB_B" "?"     "?"    
conv[c("A", "A", "B", "C", NA), keep_na = TRUE]
#> [1] "LIB_A" "LIB_A" "LIB_B" "?"     NA