将伙伴(婴儿)变量的值复制到原始(母亲)

Copy value of partnered (infant) variable to original (mother)

我有 Dyadic (mother/infant) 长格式重复测量数据。

我有三个 ID 变量:Individual ID、Dyad ID 和“status”。

ID DYAD Status date infant weight
001 01 0 01/01
101 01 1 01/01 10
001 01 0 02/02
101 01 1 02/02 20
002 02 0 01/01
102 02 1 01/01 11
002 02 0 02/02
102 02 1 02/02 21

我想根据关键变量将婴儿体重添加到母亲的行中:日期和 DYAD ID。所以最终结果应该是这样的:

ID DYAD Status date infant weight
001 01 0 01/01 10
101 01 1 01/01 10

通常,我完全通过 GUI 创建一个新的迷你数据集,方法是 1) 仅选择婴儿(状态 ==1)和 2) 仅使用关键变量和感兴趣的变量,从原始数据中删除婴儿体重并合并数据集:根据键值添加变量。

这很好用,但我知道一定有办法用语法来做到这一点。

您可以通过聚合来做到这一点:

aggregate /outfile=* mode=addvariables overwritevars=yes
          /break=DYAD date /infant_weight=max(infant_weight).

因为在组合了 DYAD 和 Date 的任何一对行中,都会有一行的值在 infant_weight 中,另一行为空,聚合将用该对的最大值填充空白行- 这只是婴儿行的重量。