关键词:SAS数据转换; SAS数据拆分; SAS数据合并; SAS变量赋值
一、增加/删除变量
按照数据读取方法打开“示例数据1.csv”,如图1所示。
(一)新增变量
在SAS软件中,通过程序形式实现新增变量,新增的变量会出现在数据集的最后一列。举例如下,SAS中,按照“new variable=计算公式”的模式来生成,如BMI=体重(kg)/身高(m)2,将在最后一列生成BMI变量,如图2。
data data2; set data; BMI=weight/((hight/100)**2); proc print;run;
(二)删除变量
通过drop语句,删除不需要的变量,见图3。
data data3; set data2; drop BMI; proc print;run;
二、变量标签与赋值
打开“示例数据1.csv”。
SAS软件中数据集的变量类型只有两种:数值型和字符型。数值型变量只允许变量值为数字,当数值型变量缺失时,表示为“.”。字符型变量可以为中文、英文、以及各种符号,数字也可以为字符型(此时数字字符不可以进行统计计算)。当字符型变量为缺失时,表示为空格。
对变量age进行标签设置,举例如下;
第一步:双击work逻辑库中的data数据集,将其打开,如图4所示;
第二步:双击data数据集中的age变量,弹出age变量属性对话框,可在Label后填写“年龄”,对age变量进行中文标签的定义,点击“apply”即可完成修改,点击“close”关闭变量属性对话框,如图5所示。
第三步:此时的修改不会保存在原数据集中,需要“另存为”以保存所做的标签修改,如图6—图7所示,这里保存在work逻辑库中,命名为data4。
第四步:通过如下代码,检查是否成功更改标签,如图8所示,age变量已经显示为“年龄”。
proc print data=data4 label;run;
三、变量/数据转换
在数据分析过程中,常常需要对变量重新赋值或者重新计算生成一个新变量,这都涉及到变量和数据的转换,下面以“示例数据1.csv”演示变量/数据转换操作步骤。
(一) 变量重新编码:
在进行数据分析之前,有时需要对变量进行相应调整,比如对于“示例数据1”中,原来的“grade (年级)”变量中“1”代表大一,“2”代表大二,“3”代表大三,“4”代表大四,后面的研究中需要将大一和大二合并,大三和大四合并,需要对“grade”这个变量重新编码,其操作步骤如下:
打开“示例数据1.csv”。
通过如下程序完成变量重新编码,结果如图9所示。
data data5; set data; if grade=1 or grade=2 then grade_new=1; else if grade=3 or grade=4 then grade_new=2; proc print;run;
(二) 生成新变量
操作流程见“一、增加/删除变量”。