如何在 sas 中创建虚拟变量(附示例)
虚拟变量是我们在回归分析中创建的一种变量,以便我们可以将分类变量表示为采用两个值之一的数值变量:零或一。
例如,假设我们有以下数据集,并希望使用年龄和婚姻状况来预测收入:
要将婚姻状况用作回归模型中的预测变量,我们需要将其转换为虚拟变量。
由于目前这是一个可以采用三个不同值(“单身”、“已婚”或“离婚”)的分类变量,因此我们需要创建k -1 = 3-1 = 2 个虚拟变量。
要创建这个虚拟变量,我们可以将“Single”保留为基值,因为它最常出现。因此,我们将婚姻状况转换为虚拟变量的方法如下:
以下示例展示了如何在 SAS 中为此精确数据集创建虚拟变量。
示例:在 SAS 中创建虚拟变量
首先,我们在 SAS 中创建以下数据集:
/*create dataset*/ data original_data; input income age status $; datalines ; 45 23 single 48 25 single 54 24 single 57 29 single 65 38 married 69 36 single 78 40 married 83 59 divorced 98 56 divorced 104 64 married 107 53 married ; run ; /*view dataset*/ proc print data = original_data;
接下来,我们可以使用两个 IF-THEN-ELSE 语句为状态变量创建虚拟变量:
/*create new dataset with dummy variables*/
data new_data;
set original_data;
if status = " married " then married = 1 ;
else married = 0 ;
if status = " divorced " then divorced = 1 ;
else divorced = 0 ;
run ;
/*view new dataset*/
proc print data =new_data;
请注意,两个虚拟变量(已婚和已离婚)的值与我们在介绍性示例中计算的值相匹配。
如果需要,我们可以在回归模型中使用这些虚拟变量,因为它们都是数字。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
如何在SAS中使用过程摘要
如何在 SAS 中使用 Proc Tabulate
如何在SAS中重命名变量
如何在 SAS 中创建新变量