Le Problème Vous héritez d'une base de données où les valeurs manquantes ont été codées par un chiffre spécifique (comme 999 ou 9999) dans plusieurs colonnes numériques. Modifier chaque variable manuellement avec des IF/THEN serait long et source d'erreurs.
La Solution Vous pouvez traiter toutes 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. numériques d'un seul coup grâce au mot-clé magique _NUMERIC_ associé à un tableau (ARRAY).
2
3
4
5
6
7
8
set Demographic;
array Nums [*] _numeric_;
do i=1 to dim(Nums);
if Nums[i]=999 then Nums[i]=.;
end;
drop i;
run;
En Bref
- Le mot-clé
_numeric_capture automatiquement toutes 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. numériques de votre jeu de données dans le tableauNums. - L'astérisque
[*]demande à SAS de compter lui-même le nombre 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. pour dimensionner le tableau. - La fonction
dim()permet à la boucleDOde parcourir exactement le bon nombre de colonnes. - Astuce bonus : Cette même technique fonctionne pour 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. texte avec le mot-clé
_CHARACTER_!






