logo

ODS : Récupérer le risque relatif

Bonjour,

j’ai créé un fichier ODS PDF qui est une suite de tableaux réalisé avec des proc tabulate comme ceci :

proc tabulate data=data.tab3 missing ;
   class cat ;
   class sonf;
   tables sonf all='Total',cat*(n*f=10.0 pctn='%'*f=10.1)
         all='Total'*(n*f=10.0 pctn='%'*f=10.1) ;
run ;

où chaque variable (comme ici « sonf ») est traitée en fonction de la variable « cat ». Je voudrais à chaque fois récupérer le risque relatif (proc freq option cmh) et sous chaque tableau écrire : « Le risque relatif est : …. ».
Comment faire?
Merci d’avance.

voici un exemple de réponse :

  1. avec une proc Freq (et l’option RELRISK plutôt que CMH plus bavarde), calculer les risques relatifs. Ceux-ci sont édités dans un objet ODS appelé RelativeRisks (si vous utilisez CMH, l’objet se nomme CommonRelRisks)
  2. ajouter, juste au-dessus de la proc Freq, une instruction ODS OUTPUT pour récupérer ces informations dans une table SAS
  3. après la proc Freq, ajouter une étape Data pour générer une macro-variable contenant la valeur du risque relatif qui vous intéresse
  4. se servir de la valeur de cette macro-variable dans un FOOTNOTE ou un ODS TEXT.

Ci-dessous un exemple :

ODS EXCLUDE ALL ;
ODS OUTPUT relativeRisks = work.rr ;
PROC FREQ DATA = cours.produits ;
   TABLE couleur * primeur / RELRISK ;
RUN ;
ODS SELECT ALL ;
DATA _NULL_ ;
   SET work.rr (WHERE = (studyType = "Case-Control (Odds Ratio)")) ;
   CALL SYMPUT ("rr", LEFT(PUT(value, 12.2))) ;
RUN ;
ODS RTF FILE = "c:\temp\essai.doc" STARTPAGE = NEVER ;
PROC TABULATE DATA = cours.produits ;
   CLASS couleur primeur ;
   TABLE (couleur ALL="TOTAL") , 
         (primeur ALL="TOTAL") * 
         (N * F = 7. colPctN = "%" * F = 7.1) ;
RUN ;
ODS RTF TEXT = "Le risque relatif est : &rr" ;
ODS RTF CLOSE ;

Par rapport au programme de votre question, je préfère l’emploi des mots-clés PCTN, COLPCTN et ROWPCTN à celui des spécifications entre < et > du dénominateur de ces pourcentages ; PCTN sont des pourcentages de l’ensemble du tableau, COLPCTN des pourcentages-colonnes et ROWPCTN des pourcentages-lignes.