SAS变量管理

发布于 2022年1月14日 星期五 09:59:49 浏览:3182
原创不易,转载请注明来源,感谢!

关键词:SAS数据转换; SAS数据拆分; SAS数据合并; SAS变量赋值

一、增加/删除变量

按照数据读取方法打开“示例数据1.csv”,如图1所示。

图1

(一)新增变量

在SAS软件中,通过程序形式实现新增变量,新增的变量会出现在数据集的最后一列。举例如下,SAS中,按照“new variable=计算公式”的模式来生成,如BMI=体重(kg)/身高(m)2,将在最后一列生成BMI变量,如图2。

data data2;
set data;
BMI=weight/((hight/100)**2);
proc print;run;
图2

(二)删除变量

通过drop语句,删除不需要的变量,见图3。

data data3;
set data2;
drop BMI;
proc print;run;
图3

二、变量标签与赋值

打开“示例数据1.csv”。

SAS软件中数据集的变量类型只有两种:数值型和字符型。数值型变量只允许变量值为数字,当数值型变量缺失时,表示为“.”。字符型变量可以为中文、英文、以及各种符号,数字也可以为字符型(此时数字字符不可以进行统计计算)。当字符型变量为缺失时,表示为空格。

对变量age进行标签设置,举例如下;

第一步:双击work逻辑库中的data数据集,将其打开,如图4所示;

图4

第二步:双击data数据集中的age变量,弹出age变量属性对话框,可在Label后填写“年龄”,对age变量进行中文标签的定义,点击“apply”即可完成修改,点击“close”关闭变量属性对话框,如图5所示。

图5

第三步:此时的修改不会保存在原数据集中,需要“另存为”以保存所做的标签修改,如图6—图7所示,这里保存在work逻辑库中,命名为data4。

图6
图7

第四步:通过如下代码,检查是否成功更改标签,如图8所示,age变量已经显示为“年龄”。

proc print data=data4 label;run;

图8

三、变量/数据转换

在数据分析过程中,常常需要对变量重新赋值或者重新计算生成一个新变量,这都涉及到变量和数据的转换,下面以“示例数据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;
图9

(二) 生成新变量

操作流程见“一、增加/删除变量”。

End
文章目录 沉浸式阅读