我目前有一个数据集,其中包括每个人的ID,然后是名为day1到day1826的变量,这些变量是这些天内药物可用性的二进制指标。我需要在特定的日子里审查个人。例如,如果一个人需要在day500被审查,那么我需要将day500设置为missing,以及之后的每一天变量(即day500到day1826)。我有一个名为time_for_censor的变量,它指示哪一天开始丢失。
我如何在SAS中编写此代码?
我试着用这样的循环来编码它:
array daydummy (1826) day1-day1826;
if time_for_censor ne . then do time_for_censor=1 to 1825;
daydummy(time_for_censor)=.;
daydummy(time_for_censor + 1) =.;
end;
从审查日期到数组末尾进行循环。
array daydummy (1826) day1-day1826;
if not missing(time_for_censor) then do index=time_for_censor to 1826;
daydummy(index)=.;
end;
drop index;
您可能需要将do循环的下界更改为time_for_censor+1,具体取决于值在审查日期是否有效。