Advertisement
Guest User

SignesVitauxSAS

a guest
Dec 1st, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SAS 2.42 KB | None | 0 0
  1. libname SOURCE  "/folders/myfolders/Miniprojet/source";    /* endroit où se trouvent tous les datasets sources et les formats */
  2. options fmtsearch=( SOURCE  WORK);
  3. options ls=256;
  4.  
  5. /* Signes vitaux*/
  6. ODS GRAPHICS ON;
  7.  
  8. /* Création variable Tension*/
  9. DATA SV;
  10.     SET SOURCE.vital_signs;
  11.     ATTRIB Tension
  12.         label="Diagnostique tension"
  13.         length=$25;
  14.     IF SYS=. OR DIA=. THEN
  15.         Tension="Non Calculé";
  16.     ELSE IF SYS < 120 AND DIA < 80 THEN
  17.         Tension="Tension optimale";
  18.     ELSE IF SYS <= 129 AND DIA <= 84 THEN
  19.         Tension="Tension normale";
  20.     ELSE IF SYS <= 139 AND DIA <= 89 THEN
  21.         Tension="Tension normale élevée";
  22.     ELSE IF SYS <= 159 AND DIA <= 99 THEN
  23.         Tension="Hypertension légère";
  24.     ELSE IF SYS <= 179 AND DIA <= 109 THEN
  25.         Tension="Hypertension modérée";
  26.     ELSE IF SYS > 180 AND DIA > 110 THEN
  27.         Tension="Hypertension sévère";
  28.     ELSE
  29.         Tension="Hypertension sévère";
  30. RUN;
  31.  
  32. /*Fusion avec date de visite*/
  33. PROC SQL;
  34.     CREATE TABLE VS AS
  35.     SELECT s.*, d.VISDT
  36.     FROM SV as s LEFT JOIN SOURCE.date_of_visit as d
  37.     ON s.USUBJID=d.USUBJID AND s.VISID=d.VISID;
  38. QUIT;
  39. /*Fusion entre VS et PE*/
  40. /* A VERIFIER SI FONCTIONNE COMME IL FAUT*/
  41. PROC SQL;
  42.     CREATE TABLE VS_PE AS
  43.     SELECT *
  44.     FROM VS LEFT JOIN PE
  45.     ON VS.USUBJID=PE.USUBJID;
  46.  
  47. /*Fusion avec numero de traitement*/
  48. PROC SQL;
  49.     CREATE TABLE VS_PE_Treatment AS
  50.     SELECT v.*, t.TRTCD
  51.     FROM VS as v LEFT JOIN SOURCE.treatment_assignment as t
  52.     ON v.USUBJID=t.USUBJID;
  53. QUIT;
  54.  
  55. PROC SORT DATA=VS_PE_Treatment OUT=VS_PE_Treatment_sorted;
  56.     BY TRTCD;
  57. RUN;   
  58.  
  59. /*PROC FREQ : frequence differents parametres de signes vitaux*/
  60. TITLE "Fréquence des parametres vitaux en fonction du groupe de traitement";
  61. PROC FREQ DATA=VS_PE_Treatment_sorted NOPRINT;
  62.     by TRTCD;
  63.     tables SYS / out=FreqVSSys;
  64. RUN;
  65.  
  66. PROC FREQ DATA=VS_PE_Treatment_sorted NOPRINT;
  67.     by TRTCD;
  68.     tables TEMP / out=FreqVSTemp;
  69. RUN;
  70.  
  71. TITLE "FREQ SYS";
  72. PROC PRINT DATA=FreqVSSys NOOBS LABEL;
  73. RUN;
  74.  
  75. TITLE "FREQ TEMP";
  76. PROC PRINT DATA=FreqVSTemp NOOBS LABEL;
  77. RUN;
  78.  
  79. /*Test égalité des moyennes*/
  80. TITLE "PROC ANOVA";
  81. PROC ANOVA DATA=VS_PE_Treatment_sorted;
  82.     CLASS TRTCD;
  83.     MODEL SYS=TRTCD;
  84.     MEANS TRTCD;
  85. RUN;
  86.  
  87. PROC SQL;
  88.     CREATE TABLE VS_PE_Mod as
  89.     select TRTCD, avg(SYS) as moyenne, count(TRTCD) as count
  90.     from VS_PE_Treatment_sorted
  91.     GROUP BY TRTCD;
  92. QUIT;
  93.  
  94. TITLE "PROC FREQ option X²";
  95. PROC FREQ DATA=VS_PE_Mod;
  96.     weight count;
  97.     tables TRTCD*moyenne /nocum chisq;
  98. RUN;
  99.  
  100. ODS GRAPHICS OFF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement