SPSS:搜索之前时间点的重复出现

SPSS: search for repeated occurrences at previous time points

我有这样一个数据集:

Case #|DateA |Drug.1|Drug.2|Drug.3|DateB.1 |DateB.2  |DateB.3 |RcvdDrugXTimeA
------|------|------|------|------|--------|---------|--------|--
1     |DateA1|    X |    Y |    X |DateB1.1|DateB1.2 |DateB1.3| 0
2     |DateA2|    X |    Y |    X |DateB2.1|DateB2.2 |DateB2.3| 1
3     |DateA3|    Y |    Z |    X |DateB3.1|DateB3.2 |DateB3.3| 1
4     |DateA4|    Z |    Z |    Z |DateB4.1|DateB4.2 |DateB4.3| 0

每个病例都有很多不同日期的收药记录。我的终点是在 Time A 收到药物 X,其中 Time 是根据每次收到药物的 DateADateB 之间的差异计算的。

如果一个病例在 Time A 收到药物 X,那么我想知道他们是否在之前的日期也收到了药物 X(以确定他们在 Time A 收到药物 X 是否是新的发生或重复发生)。

对于在 Time A 期间至少接受过一次药物 X 的每个病例,我有变量 RcvdDrugXTimeA = 1

如果他们在 Time A 之前确实收到了药物 X,那么我想要 RcvdPriorDrugX = 2。如果他们没有,那么我想要 RcvdPriorDrugX = 1。如果他们从未接受过药物 X,那么理想情况下 RcvdPriorDrugX = 0.

在上面的示例中,案例 1 接受了药物 X 但不在 Time A 内,而案例 2 和 3 在 Time A 期间都接受了药物 X,因此这些案例 RcvdDrugXTimeA = 1。假设这发生在他们两人身上 DateB.3。这些案例之间的区别在于,案例 2 之前也接受过药物 X,因此在 Time A 时重复接受了药物 X。另一方面,案例 3 之前没有收到药物 X,因此在 Time A 收到药物 X 是该案例的新事件。我想创建一个函数来回顾那些在 Time A 期间满足接收药物 X 标准的案例的记录,并生成一个输出来告诉我这是否以前发生过或者是否是新的发生。我想排除那些他们从未在输出变量 Time A 收到药物 X 的情况。

不完全确定我是否理解您要执行的操作,因此以下语法涵盖了您提供的示例并达到了您描述的所需输出。如果示例(和我的语法)没有涵盖您需要在此过程中包含的其他可能性或注意事项,请告诉我。

首先我重新创建了您的示例数据集:

data list list/Case#(f1) DateA Drug.1 Drug.2 Drug.3 DateB.1 DateB.2  DateB.3 (7a10) RcvdDrugXTimeA(f1).
begin data
1     "DateA1"   "X"   "Y"   "X"   "DateB1.1"   "DateB1.2"   "DateB1.3"  0
2     "DateA2"   "X"   "Y"   "X"   "DateB2.1"   "DateB2.2"   "DateB2.3"  1
3     "DateA3"   "Y"   "Z"   "X"   "DateB3.1"   "DateB3.2"   "DateB3.3"  1
4     "DateA4"   "Z"   "Z"   "Z"   "DateB4.1"   "DateB4.2"   "DateB4.3"  0
end data.

现在我计算药物 X 的给药次数,然后如果 RcvdDrugXTimeA 为 0,则输出为 0,如果为 1,则如果 X 仅给药一次,则输出为 1,如果给药多次,则输出为 2不止一次:

count NofX=Drug.1 Drug.2 Drug.3("X").
compute RcvdPriorDrugX=RcvdDrugXTimeA + (NofX > 1).