Description Usage Arguments Details Value See Also Examples
Convertit les données utilisées pour une proc format (option CNTLIN=) en une liste de vecteurs qui pourra servir à effectuer des conversions.
1 | from_tab(sas_data)
|
sas_data |
un data.frame importé depuis une table SAS pour proc format.
Ce data.frame doit contenir a minima les colonnes |
La table en entrée est un data.frame, à importer dans R à partir d'une table SAS (par exemple avec le package haven).
Cette fonction ne gère pour l'instant que des formats caractère. De plus,
s'il y a une colonne END
dans la table en entrée, elle doit être égale à la
colonne START
.
La modalité SAS other
(valeur par défaut), présente dans la table si une
colonne HLO
existe et vaut "O"
, est sauvegardée dans l'attribut
"other" pour les éléments de la liste concernés.
Une liste contenant autant d'éléments que de formats si les données avaient été générées par une proc format.
les noms de la liste correspondent aux noms des formats (FMTNAME
) ;
les éléments de la liste sont des vecteurs contenant les relations entre valeurs initiales et valeurs converties ;
chaque élément a un éventuel attribut "other"
;
chaque élément est un objet de type fmtsas_c
, ce qui permet
d'utiliser l'opérateur de sélection avec prise en
compte d'une valeur par défaut (other
).
Voir les exemples pour l'utilisation de cette liste.
from_pgm pour importer les formats contenus dans un programme SAS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ## Donnees en entree (provenant d'une table SAS) :
format_data <-
data.frame(
FMTNAME = c( "fmt1_", "fmt1_", "fmt1_", "fmt1_", "sexe", "sexe"),
TYPE = c( "C", "C", "C", "C", "C", "C"),
START = c( "A", "B", "C", NA, "1", "2"),
LABEL = c( "A", "BC", "BC", "ERROR", "Homme", "Femme"),
HLO = c( NA, NA, NA, "O", NA, NA)
)
## Conversion des formats :
conv <- from_tab(format_data)
conv
## Utilisation :
# soit un jeu de donnees contenant des codes a convertir en libelles
donnees <-
data.frame(
VAR1_CODE = c("A", "B", "A", "C", "Z", NA),
SEXE_CODE = c("1", "2", "1", "2", NA, "Z")
)
# pour remplacer les codes par les libelles (pour VAR1)
donnees$VAR1_LIB <- conv$fmt1_[donnees$VAR1_CODE]
donnees$VAR1_LIB2 <- conv$fmt1_[donnees$VAR1_CODE, keep_na = TRUE]
donnees$SEXE_LIB <- conv$sexe[donnees$SEXE_CODE]
donnees
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.