Hello everyone, I would like you to take a look at this code and tell me if you consider it to be an effiecent way to write out the variables and fomulas. Thanks. DATA M.CHAMPS2; SET M.CHAMPS; ARRAY CMP_ALL {*} CHAMPS7HOURS CHAMPS9HOURS CHAMPS10HOURS CHAMPS14HOURSNEW CHAMPS15HOURSNEW CHAMPS16HOURS CHAMPS19HOURS CHAMPS20HOURS CHAMPS21HOURS CHAMPS22HOURS CHAMPS23HOURS CHAMPS24HOURS CHAMPS25HOURS CHAMPS26HOURS CHAMPS27HOURS CHAMPS28HOURS CHAMPS29HOURS CHAMPS30HOURS CHAMPS31HOURS CHAMPS32HOURS CHAMPS33HOURSNEW CHAMPS34HOURS CHAMPS35HOURS CHAMPS36HOURS CHAMPS37HOURS CHAMPS38HOURS CHAMPS39HOURS CHAMPS40HOURS; ARRAY CMP_ALL_FREQ {*} CHAMPS7TIMES CHAMPS9TIMES CHAMPS10TIMES CHAMPS14TIMESNEW CHAMPS15TIMESNEW CHAMPS16TIMES CHAMPS19TIMES CHAMPS20TIMES CHAMPS21TIMES CHAMPS22TIMES CHAMPS23TIMES CHAMPS24TIMES CHAMPS25TIMES CHAMPS26TIMES CHAMPS27TIMES CHAMPS28TIMES CHAMPS29TIMES CHAMPS30TIMES CHAMPS31TIMES CHAMPS32TIMES CHAMPS33TIMESNEW CHAMPS34TIMES CHAMPS35TIMES CHAMPS36TIMES CHAMPS37TIMES CHAMPS38TIMES CHAMPS39TIMES CHAMPS40TIMES; DO I=1 TO 28; SELECT(CMP_ALL(I)); WHEN (.) CMP_ALL(I)=0; WHEN (1) CMP_ALL(I)=.5; WHEN (2) CMP_ALL(I)=1.75; WHEN (3) CMP_ALL(I)=3.75; WHEN (4) CMP_ALL(I)=5.75; WHEN (5) CMP_ALL(I)=7.75; WHEN (6) CMP_ALL(I)=9.75; OTHERWISE CMP_ALL(I)=9.75; END; END; ARRAY METAB_WEIGHT{28} (4.5 3.0 2.0 6.0 4.0 4.5 3.0 2.5 4.0 2.25 3.0 7.0 6.0 3.5 2.5 2.5 4.0 5.0 3.0 5.0 3.0 2.0 2.0 3.5 4.5 3.0 2.5 5.0); ARRAY CAL_EXPEN_WK {28}; DO I=1 TO 28; CAL_EXPEN_WK(I)=CMP_ALL(I)*METAB_WEIGHT(I)*3.5*60*ACTUALWEIGHTKG/200; END; CAL_EXPEN_WKTOTAL= SUM(OF CAL_EXPEN_WK1-CAL_EXPEN_WK28); ARRAY FREQWK {28}; DO I=1 TO 28; FREQWK(I)=CMP_ALL_FREQ(I); END; FREQWKTOTAL=SUM(OF FREQWK1-FREQWK28); ARRAY CAL_MOD {28}; DO I=1 TO 28; IF METAB_WEIGHT[I]>=3 THEN CAL_MOD(I)=CAL_EXPEN_WK(I); ELSE CAL_MOD(I)=0; END; CAL_MODTOT= SUM(OF CAL_MOD1-CAL_MOD28); ARRAY CAL_MODFREQ {28}; DO I=1 TO 28; IF METAB_WEIGHT[I]>=3 THEN CAL_MODFREQ(I)=FREQWK(I); ELSE CAL_MODFREQ(I)=0; END; CAL_MODFREQTOT= SUM(OF CAL_MODFREQ1-CAL_MODFREQ28); RUN; PROC MEANS DATA=M.CHAMPS2 N MEAN STD SKEW; VAR CAL_EXPEN_WKTOTAL FREQWKTOTAL CAL_MODTOT CAL_MODFREQTOT; RUN;
... View more