📄 dsintegrt.sas
字号:
*永久数据集合;
LIBNAME mylib 'D:\data' ;
PROC MEANS DATA=mylib.weight ;
TITLE 'SAS永久集合里数值变量的均值分析';
RUN;
PROC reg DATA=mylib.weight;
model height=weight;
PLOT height*weight;
TITLE 'Height and weight';
RUN;
*从SAS数据集合建立新的数据集合;
DATA class;
INFILE 'D:\data\students.csv' DSD
FIRSTOBS = 2;
INPUT gender $ age marstat$ credits state$;
run;
*从数据集合class中挑出女生并只保留年龄和学分;
data partclass;
set class;
*if gender='F';
where gender='F';
keep age credits;
run;
*Keep 只保留列出的变量;
DATA subset;
SET mylib.weight
(KEEP = ptid sex weight);
if weight>= 180 then overweight = 'yes'; else overweight = 'no';
RUN;
*从一个数据集合分裂出几个数据集合;
DATA clinica clinicb clinicc clinicd;
SET mylib.weight;
if clinic = 'A' then OUTPUT clinica; else
if clinic = 'B' then OUTPUT clinicb; else
if clinic = 'C' then OUTPUT clinicc; else
if clinic = 'D' then OUTPUT clinicd;
KEEP ptid clinic weight sex;
RUN;
*合并(Merging)SAS 数据集合;
DATA baseline;
INFILE DATALINES;
INPUT id $ sbp ;
DATALINES;
C03615 115
B00979 107
B00644 138
D01348 142
A01088 117
B01408 121
B00025 130
B00714 144
A01166 113
;
run;
DATA followup;
INFORMAT datedth mmddyy8.;
INFILE DATALINES;
INPUT id $ datedth cause;
DATALINES;
B00714 01/13/92 3
D02027 03/19/91 1
C00601 12/21/90 1
C00049 09/11/92 2
D01348 10/23/91 2
;
run;
PROC SORT DATA= baseline; BY id;
PROC SORT DATA= followup; BY id;
DATA all;
MERGE baseline followup;
BY id ;
RUN;
*如何在第二个数据集合的纪录补充上
第一个数据集合的有关信息;
DATA deaths;
MERGE baseline (IN=in1)
followup (IN=in2);
BY id;
if in2;
RUN;
PROC PRINT DATA=deaths;
TITLE '只含死人信息的数据集合';
RUN;
quit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -