为交互日记数据添加索引变量
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;
我正在处理一个互动日记数据集。我收到了这个发送给我的数据文件,但清理它的人没有添加我需要进行分析的索引变量。所以:
参与者在 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;