Bonjour à tous, et merci d'avance de votre aide.
Je suis débutant en SAS.
J'ai a ma disposition une table d'une cinquantaine de variable, et d'environ 400 individus. Chaque ligne est composée de Vrai ou Faux.
J'aimerais transformer ces Vrai-Faux afin de pouvoir réaliser des ACM sur des groupements de variables.
Par exemple, obtenir le nom de la variable + le vrai ou faux.
J'ai essayé de faire une macro, mais ça ne marche pas et j'aurais besoin d'un peu d'aide.
Voici ce que j'ai réalisé.
Voilà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 %macro transacm; %do i=1 %to 60 ; %let varmodif=%scan(&var,&i); data ***; set ***; if &varmodif='VRAI' then &varmodif.m=catt("&varmodif","-Vrai"); if &varmodif='FAUX' then &varmodif.m=catt("&varmodif","-Faux"); drop &varmodif; run; %end; %mend;
Mon premier problème est concernant la macro variable.
J'ai essayé avec une petite table. Et en précisant %let var=&nomvariable
avant, j'ai un résultat ( même si ça ne marche quand meme pas ).
J'aimerais donc savoir comment gérer le fait que j'aimerais que la macro s'applique à toutes mes variables, sans devoir rentrer le nom de chacune. Et aussi, pourquoi ma macro ne marche pas ...
Merci à tous.
Gia.
Partager