Pratique de Sas Windows 9.2... Volume 1 - Ined
Pratique de Sas Windows 9.2... Volume 1 - Ined
Pratique de Sas Windows 9.2... Volume 1 - Ined
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Estimates<br />
Une variante <strong>de</strong> l’ods select aurait pu être ods select where=(_NAME_ in('ANOVA' 'Estimates'));<br />
mais à vrai dire, comme indiqué dans le schéma <strong>de</strong> la page 115, l’ods output emprunte une autre voie<br />
indépendante et l’absence d’ods select ne change rien au contenu <strong>de</strong>s tables, mais par contre absent, tous les<br />
autres objets du catmod sortiront.<br />
Les autres options <strong>de</strong> ods output sont une variante du persist en persist=run et l’option match_all= .<br />
Le persist=run gar<strong>de</strong>ra la liste <strong>de</strong>s définitions <strong>de</strong>mandées et la table ouverte par <strong>de</strong>là la fin <strong>de</strong> l’étape.<br />
Seul un ods output clear ou close arrêtera l’accumulation.<br />
Le match_all= enclenche la production d’une nouvelle table incrémentale à chaque nouvel objet et sera suivi<br />
d’un nom <strong>de</strong> macrovariable accumulant les noms successifs séparé par un blanc. Et il est possible ensuite<br />
d’utiliser cette liste dans une étape Data.<br />
On pourra bien sûr mélanger les résultats <strong>de</strong> plusieurs procédures statistiques sous réserve <strong>de</strong> le faire à bon<br />
escient et en prenant gar<strong>de</strong> souvent à une bonne harmonisation prélalable sur les noms, type et length respectifs.<br />
Ainsi dans l’exemple élémentaire construit pour illustration, nous avons une assez gran<strong>de</strong> divergence entre les<br />
<strong>de</strong>ux objets issus du fitstatistics <strong>de</strong>mandé.<br />
Programme :<br />
ods output fitstatistics(match_all=macronoms persist=proc)=fitstat;<br />
proc glm data = sashelp.class ;<br />
mo<strong>de</strong>l weight = height age ;run;<br />
proc reg data=sashelp.class;<br />
mo<strong>de</strong>l weight = height age;run;<br />
ods output close;<br />
%put ¯onoms;<br />
proc transpose data=fitstat1 out=fitstat1<br />
(drop=_name_ rename=(root_mse=rootmse moyenne_d_pendante=<strong>de</strong>pmean coeff_var=cv));<br />
var nvalue1; id label1; copy _proc_ _run_ <strong>de</strong>pen<strong>de</strong>nt;run;<br />
data complet;set ¯onoms;run;<br />
...<br />
FITSTAT FITSTAT1<br />
Commentaire:<br />
- Une instruction ods output générère une table SAS(voir la table unique produite par tout d’abord un simple<br />
ods output fitstatistics(persist=proc)=fits;)<br />
- Pour contrer les fantaisies <strong>de</strong> la version francisée, nous avons été obligé <strong>de</strong> parler angalis et prendre le nom <strong>de</strong><br />
l’objet fitstatistics et la macrovariable va récupérer successivement pour la procédure gml une table<br />
temporaire FITSTAT et pour la procédure reg une table <strong>de</strong> nom FITSTAT1.<br />
- L’ods output a été fermé, n’ayant plus rien à y ajouter.<br />
- L’instruction macro %put rend visible cette création implicite et c’est pour cela que le proc transpose a écrasé<br />
en sortie la table en entrée : il en découle que l’instruction set ¯onoms est adéquate.<br />
- Un proc transpose alambiqué a transposé une colonne <strong>de</strong> la table fitstat1 pour avec <strong>de</strong>s rename la rendre<br />
conforme à la table fitstat et parvenir à une table commune.<br />
INED Wielki 162