为交互日记数据添加索引变量

Adding an index variable for interaction diary data

我正在处理一个互动日记数据集。我收到了这个发送给我的数据文件,但清理它的人没有添加我需要进行分析的索引变量。所以:

参与者在 X 天的时间里针对每次互动都完成了调查问卷。这意味着参与者每天可能有多个记录(交互日记)。为了进行分析,我需要 3 个索引变量 - Person_id、DiaryDay 和 InterOnDay。像这样:

Person_ID DiaryDay InterOnDay
2300 1 1
2300 1 2
2300 2 1
2300 2 2
2300 2 3
2300 3 1

我有前两个索引变量,但缺少 InterOnDay。

请注意,日记天数因人而异,记录的互动次数因人和日记天而异。

我想我需要做 DO 循环,但我完全没有弄清楚如何做。有没有人对这段代码的外观有建议? 这是我目前所拥有的,但我知道这还不够。

DATA WORK.TEST;
SET WORK.DT;
by ID DATETODAY; 
do IntOnDay = 1 to ;
  output;
end;
run;

我想这就是你想要的。

data have;
input Person_ID DiaryDay;
datalines;
2300 1
2300 1
2300 2
2300 2
2300 2
2300 3
;

data want;
   set have;
   by Person_ID DiaryDay;
   if first.DiaryDay then InterOnDay = 0;
   InterOnDay + 1;
run;