📄 sas_functions.sas
字号:
DATA example;
INFILE 'd:\data\tomfunction.dat' ;
INPUT height weight ursod se1-se10;
bmi = (weight*703.0768)/(height*height);
rbmi1 = ROUND(bmi,1);
rbmi2 = ROUND(bmi,.1);
lursod = LOG(ursod);
seavg = MEAN (OF se1-se10);
semin = MIN (OF se1-se10);
semax = MAX (OF se1-se10);
ARRAY se(10) se1-se10;
ARRAY hse(10) hse1-hse10;
DO senumber = 1 to 10;
if se(senumber) = 1 then hse(senumber) = 0; else
if se(senumber) in(2,3,4) then hse(senumber) = 100;
END;
run;
PROC PRINT DATA = example (OBS=15);
VAR bmi rbmi1 rbmi2 seavg semin semax ;
TITLE 'Listing of Selected Data for 15 Patients ';
RUN;
PROC FREQ DATA = example;
TABLES semax;
TITLE 'Distribution of Worse Side Effect Value';
TITLE2 'Side Effect Scores Range from 1 to 4';
RUN;
PROC MEANS DATA = example;
VAR hse1-hse10;
TITLE 'Percent of Patients With Condition by Condition';
RUN;
PROC UNIVARIATE DATA = example PLOT;
VAR ursod lursod;
TITLE 'Stem and Leaf Plots for Urine Sodium Data';
RUN;
DATA names;
INFILE DATALINES DSD;
INFORMAT fname $20. lname $20. mi $1. ;
INPUT lname fname mi ;
LENGTH fnamemix $20. lnamemix $20. fullname $44.;
* 从name中抽取第一个字符,然后接上从第二个字符开始的所有的字符的小写 ;
fnamemix = SUBSTR(fname,1,1) || LOWCASE(SUBSTR(fname,2));
lnamemix = SUBSTR(lname,1,1) || LOWCASE(SUBSTR(lname,2));
* 连接3个名字,并删除多余的空格;
fullname = COMPBL (fnamemix || mi || '. ' || lnamemix ) ;
DATALINES;
GRANDITS, GREGORY, A
SIU, YI, W
;
run;
DATA names1;
INFILE DATALINES DSD;
INFORMAT fullname $44.;
INPUT fullname ;
LENGTH fname $20. lname $20. mi $2.;
fname = SCAN(fullname,1); *Take 1st word;
mi = SCAN(fullname,2,' '); *Take 2nd word;
lname = SCAN(fullname,3); *Take 3rd word;
DATALINES;
Gregory A. Grandits
Yi W. Siu
;
run;
PROC PRINT DATA=names1;
VAR fullname fname mi lname;
TITLE '原变量和几个新变量';
RUN;
quit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -