Bonjour,
J'ai une table SAS que je cherche à conserver uniquement les lignes où y a pas de données manquantes.
merci
Bonjour,
J'ai une table SAS que je cherche à conserver uniquement les lignes où y a pas de données manquantes.
merci
Bonjour,
Essai le code ci dessous :
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 array num{*} _NUMERIC_ ; do i = 1 TO dim(num) ; IF missing (num{i}) then delete ; end ; array char{*} _CHARACTER_ ; do i = 1 TO dim(char) ; IF missing (char{i}) then delete ; end ;
est ce qu'il faut mettre les noms de mes variables qui contiennent des données manquantes au lieu de "Char"
J'ai essayé mais ça me dit que la variables n'est pas défini comme "char".
Un exemple pratique svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
35 data A; input X $ nb_a $ var_a; cards; C01 A 15 C02 A . C03 A 15 ; run; data B; input X $ nb_b $ var_b; cards; C01 B . C03 B 10 ; run; data C; input X $ nb_c $ var_c; cards; C01 C . C03 C 10 ; run; data all2; merge A(in=a) B(in=b) C(in=c); by X; array num{*} _NUMERIC_ ; do i = 1 TO dim(num) ; IF missing (num{i}) then delete ; end ; array char{*} _CHARACTER_ ; do i = 1 TO dim(char) ; IF missing (char{i}) then delete ; end ; run;
Si seules les variables numériques sont concernées, tu peux écrire dans une étape DATA
Code : Sélectionner tout - Visualiser dans une fenêtre à part IF NMISS(OF _NUMERIC_)>0 THEN DELETE ;
@ Olivier: mes variables sont catégorielles.
@ suistrop: le code marche bien sur le jeu de données, par contre lorsque je l'applique sur ma propre table, j'obtiens une seule ligne avec les noms des variables.
Je ne sais pas c'est quoi le problème ?
Partager