Bonjour,
Je dispose de 150 variables dans une table comme suit:
Var1 var2 var3 ...........Var150
4
5
9
10
85
10
85
12
30
15
Je voudrais remplacer la valeur manquante dans Var1 à partir des variables Var2 à Var150.
Merci
Bonjour,
Je dispose de 150 variables dans une table comme suit:
Var1 var2 var3 ...........Var150
4
5
9
10
85
10
85
12
30
15
Je voudrais remplacer la valeur manquante dans Var1 à partir des variables Var2 à Var150.
Merci
Bonjour,
S'il s'agit d'un second aspect du même traitement qu'au message précédent, il semble bien que l'algorithme initial soit un peu complexe...
Mais voici une solution, avec un ARRAY, pour combler les valeurs manquantes de VAR1 avec la première valeur non-manquante des variables suivantes...
Bon courage !
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 data test ; input var1-var5 ; cards ; . 1 2 3 4 2 3 4 5 6 . . 3 4 5 . . . 4 5 . 5 6 7 8 ; run ; data resultat ( drop = i ) ; set test ; array avar(*) var: ; if var1 = . then do ; do i = 2 to dim(avar) ; if avar(i) ne . then do ; avar(1) = avar(i) ; goto fin ; end ; end ; fin: end ; run ;
Bruno.
La fonction COALESCE permet de récupérer la première valeur non manquante d’une série de variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PROC SQL; SELECT nom, COALESCE(v1,v2,v3,v4,v5) AS Premier FROM table; QUIT;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager