Bonjour,
Je voudrais rélaiser une boucle et à l'intérieur de celle ci une proc reg, cad :
Pour chaque variable Ti :
faire une regression : variable explicative = Ti +cste
Est ce que quelqu'un a une idée?
Merci d'avance
Bonjour,
Je voudrais rélaiser une boucle et à l'intérieur de celle ci une proc reg, cad :
Pour chaque variable Ti :
faire une regression : variable explicative = Ti +cste
Est ce que quelqu'un a une idée?
Merci d'avance
Bonjour,
la liste des variables est issue d'une table existante ?
si oui, tu fais un proc contents +out=cnt;
depuis la colonne NAME tu récupères dans des macros-variables la liste des variables qui t'intéresse.
tu crées une boucle avec les macros commandes autour d'une proc REG.
renvoie une proposition dès que tu en as une.
Ok, merci
Oui la liste des variables fait partie d'une existante ( table1).
Mais je n'ai pas compris ce que tu voulais dire par "créer une boucle avec les macros commandes autour d'une proc REG"?
Je ne comprend comment faire varier mes variables dans la boucle ( leurs nom n'est pas numérique...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 data _null_; set cnt; call symputx(cats('var',_n_) , NAME); call symputx('nbvar', _n_); run; %do i=1 %to &nbvar; proc reg data=sashelp.class; model age = &&var&i; run; quit; %end;
merci.
Donc dans l'étape data je créer une variable contenant les noms de mes variables? et ensuite je lance la proc pour toute les variables?
Donc dans l'étape data je crée tour à tour une macro-variable différente contenant le nom de chaque variable. Et ensuite je lance la proc pour toute les variables.
Oui.
Après la data _null_, fais un %PUT _ALL_ ; et tu verras les macro-variables créées parmi celles générées par SAS.
Partager