我有一个数据集,其中每个观察值/行都是一个家庭成员。
有一个变量“ Family_ID”,对于同一家庭的每个成员,其编号都相同。
此外,有一个变量“ Age”,根据这个变量,我必须创建一个新变量,该变量将为每个家庭计算0-13岁的成员人数,并将这个数字分配给每个家庭成员。我手动创建了变量“ Number0_13”,让您了解我正在尝试做的事情。
我该怎么做?
感谢您的帮助
Family_ID Age Number0_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)
。