我正在使用一个数据集,每个 ID 有多个访问日期。我正在尝试计算每次后续预约之间的时间(访问 1 与访问 2、访问 2 与访问 3 等)。
我的数据目前看起来像这样
data test;
input ID visit_dt :mmddyy10.;
format visit_dt mmddyy10.;
datalines;
1 06-14-2021
1 10-18-2021
1 12-16-2021
1 01-29-2022
2 07-17-2021
2 11-22-2021
2 12-23-2021
2 02-06-2022
;
run;
我正在寻找创建一个变量来告诉两次访问之间的天数(例如:上述数据的第二次观察将在变量中列出 6 月 14 日到 10 月 18 日之间的 126 天)
如有任何帮助,我们将不胜感激!提前谢谢你
使用
BY <var>
语句、自动变量 FIRST.<var>
和 DIF
函数。
示例:
DIF
函数计算变量的当前值与变量先前值之间的差。
data want ;
set have ;
by id ;
daysSincePrior = DIF(visit_dt) ;
if first.id then daysSincePrior = .;
run ;