首页 > 解决方案 > 将合作(婴儿)变量的值复制到原始(母亲)

问题描述

我有长格式的 Dyadic(母亲/婴儿)重复测量数据。

我有三个 ID 变量:个人 ID、Dyad ID 和“状态”。

ID DYAD 地位 日期 婴儿体重
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 地位 日期 婴儿体重
001 01 0 01/01 10
101 01 1 01/01 10

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

这很好用,但我知道必须有一种方法可以用语法来做到这一点。

标签: variablesspsscoupling

解决方案


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

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

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


推荐阅读