Thursday, January 17, 2008

SAS command review

/*CHIH-TAO CHENG; SID:18597311;FINAL*/

OPTIONS LS=80;

OPTIONS MPRINT;

FILENAME INDATA1 'D:\SAS\BASIC.DAT';

DATA B (DROP= PREG); INFILE INDATA1;

INPUT WOMAN 1-5 PREG 1-6 PLACENWT 33-34;

PLACEWT=PLACENWT*10;

LABEL PLACEWT = 'PLACENTAL WEIGHT (GRAMS)';

/*SET MISSING VALUES FOR SELECTED VARIABLES*/

IF BIRTHWT IN( 999) THEN BIRTHWT =.;

LABEL GRWEIGHT = 'GRAVIDA WEIGHT (LBS)';

/*TITLE AND FORMAT*/

PROC FORMAT;VALUE SMOKE2F 0='NEVER SMOKED' 1=’EVER SMOKED’

TITLE1 'CHIH-TAO CHENG';

/*CALCULATION*/

DATA IRA1 (DROP=X);

/* SET (BEGINNING OF THE) FIRST YEAR VALUES */

YEAR = 2007;

AGE = 30;

IRASUM = 4000;

CONTRIB = 4000;

INTEREST = .05;

OUTPUT;

/* IRA WITH ANNUAL CONTRIBUTION AND DISBUSEMENT */

DO X = 1 TO 30;

YEAR = YEAR + 1;

AGE = AGE + 1;

IF YEAR = 2008 THEN CONTRIB = 5000;

IF YEAR > 2008 THEN CONTRIB = CONTRIB + 250;

IF AGE = 60 THEN CONTRIB = 0;

IRASUM = (IRASUM * (1 + INTEREST)) + CONTRIB;

OUTPUT;

END;

/*MERGE BASIC.DAT AND PLACENTA.DAT AND SELECT SINGLETON PREGNANCY*/

PROC SORT DATA=B; BY PREG;

PROC SORT DATA=P; BY PREG;

DATA BP; MERGE B(IN=A) P(IN=B); BY PREG;

IF A AND B;

IF FIRST.PREG AND LAST.PREG;

/*SAMPLING*/

DATA BP3; SET BP2;

IF UNIFORM(0) < .5;

/*MACRO*/

DATA WTGAINWIDE; INFILE WTGAIN LRECL=500;

INPUT PREG LMPMONTH LMPDAY LMPYEAR @@;

LMP_DATE=MDY(LMPMONTH,LMPDAY,LMPYEAR);

%MACRO OUT;

%DO I = 1 %TO 25;

INPUT EXMONTH&I EXDAY&I EXYEAR&I WEIGHT&I @@;

EX_DATE&I=MDY(EXMONTH&I,EXDAY&I,EXYEAR&I);

WEIGHT_KG&I=ROUND(WEIGHT&I*0.454,.1);

%END;

%MEND;

%OUT;

RUN;

/*WIDE TO LONG*/

DATA WTGAINLONG (KEEP=PREG LMP_DATE EXAM_DATE WEIGHT WTDIFF DAYSPREG TRI); SET WTGAINWIDE;

ARRAY EX_DATE EX_DATE1-EX_DATE26;

ARRAY WEIGHT_KG WEIGHT_KG1-WEIGHT_KG26;

DO OVER EX_DATE;

EXAM_DATE=EX_DATE;

WEIGHT=WEIGHT_KG;

WTDIFF = DIF(WEIGHT);

DAYSPREG = EXAM_DATE - LMP_DATE;

IF DAYSPREG <= 90 THEN TRI = 1;

IF 90 < tri =" 2;

IF DAYSPREG > 180 THEN TRI = 3;

IF DAYSPREG=. THEN TRI = .;

OUTPUT;

END;

/*PRINT*/

PROC PRINT DATA=BP (OBS=20);

PROC FREQ; TABLES GR_PFAV*HB_PFAV/CHISQ;

TITLE2 'CROSSTABULATION GRAVITA ATTITUDE/HUSBAND ATTITUDE';

FORMAT GR_PFAV HB_PFAV PFAVF.;

/*REGRESSION AND OUTPUT*/

PROC SORT DATA=WTGAINLONG; BY TRI;

PROC REG OUTEST=EST (RENAME=(DAYSPREG=BETA)) NOPRINT DATA=WTGAINLONG;

MODEL WTDIFF = DAYSPREG;

BY TRI;

PROC REG DATA=BASIC;

MODEL BIRTHWTG=SMOKE LMPTERM;

OUTPUT OUT=RESIDPRED R=RESID P=PRED;

/*CORRELATION MATRIX FOR THE 5 VARIABLES*/

PROC CORR;

VAR GRBMI BIRTHWT PLACENWT MEAN_SYS MEAN_DIA;

TITLE2 'CORR MATRIX: SELECTED MATERNAL/INFANT VARS';

/* T-TEST FOR THE 5 VARIABLES*/

PROC TTEST;

CLASS SMOKE2;

VAR GRBMI BIRTHWT PLACENWT MEAN_SYS MEAN_DIA;

TITLE2 'T-TEST BASED ON SMOKING STATUS';

FORMAT SMOKE2 SMOKE2F.;

/*ANOVA*/

PROC ANOVA DATA=BP_WTGAIN;

CLASS TRI;

MODEL WTDIFF=TRI;

MEANS TRI;

RUN;

/*X-Y PLOT*/

PROC GPLOT;PLOT MEAN_SYS*MEAN_DIA;

SYMBOL I=R VALUE=DOT;

TITLE2 'X-Y PLOT OF MEAN SYSTOLIC AND DIASTOLIC BLOOD PRESSURE';

RUN; QUIT;

No comments: