在SAS中创建从其他变量计算的变量

时间:2014-10-09 20:26:57

标签: statistics sas

我有一个名为BRFSS的大数据集,其数据位于AGESEX,是否有受访者有乳房X光检查(HADMAM),以及有多长时间自从他们的乳房X线照片(HOWLONG)。我想创建一个名为_MAM502Y的新计算变量,该变量由此SAS代码定义:

IF SEX=2 AND AGE GE 50 THEN DO;
 IF HADMAM=1 THEN DO;
       IF HOWLONG IN (1,2) THEN _MAM502Y=1;
  ELSE IF HOWLONG IN (3,4,5) THEN _MAM502Y=2;
  ELSE IF HOWLONG IN (7,9) THEN _MAM502Y=9;
  END;
 ELSE IF HADMAM=2 THEN _MAM502Y=2;
 ELSE IF HADMAM IN (7,9,.) THEN _MAM502Y=9;
 END;
ELSE IF SEX=2 AND AGE IN (.,7,9) THEN _MAM502Y=9;
ELSE  _MAM502Y=.;

我有很多使用R进行数据操作的经验,但我需要在SAS中创建这个变量。有人能告诉我如何在SAS中使用此代码来创建新变量吗?谢谢!

1 个答案:

答案 0 :(得分:1)

假设您在SAS库LIB1中有一个表TABLE1。

要使新变量成为原始表的永久部分,请执行此操作(重写源表):

data LIB1.TABLE1;
  set LIB1.TABLE1;
  ... your code..
run;

创建源表+新字段的新副本。只需将上面的data LIB1.TABLE1;更改为例如data LIB1.TABLE2;

要创建类似原始数据+新计算字段(未存储)的内容,请创建这样的SAS datastep视图(这只是定义计算(程序),没有写入数据,所以它很快完成(适合播放) ):

data LIB1.VIEW1 / view = LIB1.VIEW1;
  set LIB1.TABLE1;
  ... your code..
run;