Comment convertir rapidement des variables textes en nombres sous SAS ?

Cet article en deux mots :

Marre des variables numériques stockées en format texte ? Découvrez comment automatiser leur conversion dans une étape DATA grâce à la fonction INPUT et l'astuce du renommage à la volée. Une méthode simple et propre pour nettoyer vos jeux de données tout en conservant vos noms de colonnes.

Le Problème Il arrive souvent de recevoir un jeu de données où des variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage., comme l'âge ou le poids, sont stockées au format texte (caractère) alors qu'elles devraient être numériques.


La Solution La technique consiste à utiliser une étape DATA pour renommer les variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. à la volée, puis à les reconvertir avec la fonction INPUT

1
2
3
4
5
6
data Num_Values;
set Char_Values (rename=(Age = C_Age Weight = C_Weight));
Age = input(C_Age, best12.);
Weight = input(C_Weight,best12.);
drop C_:;
run;

En Bref

  • L'option rename= permet de lire les variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. d'origine sous un nom temporaire.
  • La fonction INPUT se charge de la conversion sécurisée de caractère à numérique.
  • L'utilisation de la liste drop C_:; agit comme un joker pour supprimer toutes les colonnes temporaires commençant par "C_". Vous conservez ainsi les noms de variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. d'origine.


Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.