我有一个名为BRFSS
的大数据集,其数据位于AGE
,SEX
,是否有受访者有乳房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中使用此代码来创建新变量吗?谢谢!
答案 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;