我有一个数据集,其中每个观察值/行都是一个家庭成员。
有一个变量“ Family_ID”,对于同一家庭的每个成员,其编号都相同。
此外,有一个变量“ Age”,根据这个变量,我必须创建一个新变量,该变量将为每个家庭计算0-13岁的成员人数,并将这个数字分配给每个家庭成员。我手动创建了变量“ Number0_13”,让您了解我正在尝试做的事情。
我该怎么做?
感谢您的帮助
Family_ID /年龄/数字0_13
1/40 / 2
1/38 / 2
1/5/2
1/10/2
2/43 / 1
2/39 / 1
2/12/1
3/25/1
3/24/1
3/1/1
... / ... / ...
您可以使用AGGREGATE
功能执行此操作。您可以通过设置/BREAK
指定要分组的变量,然后使用Aggregate Functions创建汇总变量。
在这种情况下,CIN()
计算Family_ID
在0到13(含)之间的情况(对于每个Age
)。
AGGREGATE
/OUTFILE=* MODE=ADDVARIABLES
/BREAK=Family_ID
/Number0_13=CIN(Age, 0, 13) .
注意,在这种情况下,我们也可以使用CLT(Age, 14)
。