数据分解 (Disaggregate Data)
本教程介绍如何将聚合数据根据频率变量进行分解,还原成原始的未聚合数据。这在某些项目中可能很有用。
简介
有时候,你可能会拿到一份聚合的数据,并且带有一个表示频率的变量。例如,一行数据可能代表了5个具有相同特征的个体。在某些情况下,你可能需要将这些数据进行分解 (disaggregate),也就是将一行数据按照频率变量的值,复制成相应的行数。
SPSS 语法示例
***1. 创建测试数据.
**
data list free/gender employed frequency.
begin data
0 0 5
1 0 2
0 1 8
1 1 5
end data.
value labels gender 0 '女性 (Female)' 1 '男性 (Male)' / employed 0 '未就业 (Unemployed)' 1 '已就业 (Employed)'.
***2. 写入分解后的数据文件.
**
loop # = 1 to frequency.
xsave outfile = 'd:/temp/disaggregated.sav' / drop frequency.
end loop.
***3. 打开分解后的数据文件.
**
get file = 'd:/temp/disaggregated.sav'.
说明
- 这段 SPSS 语法 (SPSS Syntax) 仅在频率变量包含整数 (integers) 时有效。 如果频率变量包含小数,请使用 RND 函数进行四舍五入。
- 这里的关键技巧在于
XSAVE
在技术上是一个转换 (transformation) 命令。 这就是为什么它可以在LOOP
循环中使用。XSAVE
命令将当前循环中的数据保存到指定的文件d:/temp/disaggregated.sav
中,drop frequency
表示在保存时删除频率变量。通过循环,每一行数据都会被复制frequency
次,从而实现数据的分解。