SAS 编码帮助显示所有创建的变量

SAS coding help displaying all created variables

我正在尝试区分已确认患有高血压、不知道自己的状况和没有高血压的记录对象。我当前的代码仅显示 bpstatus 1 和 2,但我缺少 bpstatus 3 显示。 HTN=(1=高血压)(0=无高血压)... HAE(1=意识到高血压)(2=不知道高血压)

data new
set mergedata;
HTN=.;
If SBP >= 140 or DBP >= 90 then  HTN = 1;
else if 0 < SBP < 140 and 0 < DBP < 90 then HTN = 0;
run;
proc print data=new;
    run;
data new2;
set new;
BPSTATUS=.;
*3-level variable BPSTASTUS;
*diagnosed first;
if HTN=1 or HAE2=1 then BPSTATUS=1;
*undiagnosed;
if HTN=1 and HAE2=2 then BPSTATUS=2;
*normal;
if HTN=2 and HAE2=2 then BPSTATUS=3;
run;
proc print data=new2;
    run;
proc freq data=new2;
table bpstatus;
run;
---------
BPSTATUS  
          Freq         %          Cum Freq    Cum %
1        2354         67.76        2354         67.76 
2        1120        32.24         3474         100.00 
Frequency Missing = 4424 

在此代码中:

data new
    set mergedata;
    HTN=.;
    If SBP >= 140 or DBP >= 90 then  HTN = 1;
    else if 0 < SBP < 140 and 0 < DBP < 90 then HTN = 0;
run;

您将 HTN 初始化为缺失值,然后根据某些条件将其设置为 1 或 0。在随后的代码中,您检查这个:

if HTN=2 and HAE2=2 then BPSTATUS=3;

根据您第一个程序中的逻辑,HTN 永远不会是 2,这意味着 BPSTATUS 永远不会是 3。