SAS数据库管理

发布于 2022年1月14日 星期五 10:05:30 浏览:1549
原创不易,转载请注明来源,感谢!

“示例数据1”和“示例数据2”[“示例数据2”为15名乙高校大一至大四在校大学生的身高(cm)、体重(kg)数据)]演示样本合并、变量合并、数据筛选的操作步骤过程。

关键词:SAS个案合并; SAS变量合并

一、样本合并

假设“示例数据1.csv”数据库中记录了ID为1~15的15名研究对象的“age (年龄)”、“gender (性别)”、“grade (年级)”、“hight (身高)”和“weight (体重)”五个变量数据,“示例数据2.csv”数据库中记录了ID为16~30的15名研究对象的“age”、“gender”、“grade”、“hight”和“weight”5个变量数据,现需要将两个数据库的数据进行合并。

同时打开“示例数据1.csv”和“示例数据2.csv”。导入SAS时分别命名为data和data2。

本次选择“示例数据2”中ID为20~30号的样本,将其整合到“示例数据1.csv”,结果数据库如图1所示。

需要注意的是,样本合并之前,set语句对数据的变量顺序没有特殊要求,可将data2数据集中满足条件的变量直接添加在data数据集的下面。

data data3;
set data data2(where=(ID<=30 and ID>=20));
proc print;run;
图1

二、变量合并

假设“示例数据3.csv”数据库中记录了ID为1~15的15名研究对象的“age”、“gender”和“grade”三个变量数据,“示例数据4.csv”数据库中记录了ID为1~15的15名研究对象的“hight”和“weight”两个变量数据,现需要将两个数据库的数据进行合并。

同时打开“示例数据3.csv”和“示例数据4.csv”,并保存为data3和data4。

②通过merge过程对两个数据集进行横向的合并,结果如图2所示。

data data5;
merge data3 data4;
by ID;
proc print;run;

需要注意的是,合并之前必须确保两个数据库中样本例数的ID顺序完全一致。如果ID不一致,则需要确保两个数据库中的数据均按照ID进行了相同顺序的排序(通过sort语句),然后通过by语句按照ID进行一一合并。

proc sort data=data3;by ID;run;
proc sort data=data4;by ID;run;
data data5;
merge data3 data4;
by ID;
proc print;run;
图2

三、数据筛选

在数据分析过程中,有时需要选择一部分数据进行分析,即选择满足一定条件的样本,比如,选择血红蛋白浓度大于160 g/L的样本人群,选择年龄大于60岁的样本人群。可以利用条件抽取、挑选出或删除符合/不符合一定条件的样本,如删除有缺失值的样本。这时就要使用条件语句对数据进行筛选。以“示例数据1”演示筛选出“gender”中为“male”以及“grade”中为“2”的样本,数据筛选操作步骤(结果如图3所示):

data data6;
set data;
if gender="male" and grade=2 then output data6;
proc print;run;
图3
End
文章目录 沉浸式阅读