在SPSS 23中将缺失值重新编码为条件均值

时间:2016-05-10 15:38:42

标签: statistics spss missing-data

考虑包含4个变量的数据集 - RespondentID 网站 年< / em> 价格 。我希望将 价格 中的缺失值替换为 价格 的确切 网站

例如,如果在巴黎的 2009中意味着报告 价格 为22,我想要更换每个缺少 价格 的值 = 2009和 网站 < / strong> =巴黎22岁。

如果我想用零(例如)替换缺失值,我会创建一个语法RECODE Price (SYSMIS=0) (ELSE=COPY),但我不知道如何实现这个条件均值。

我也知道可以使用temporary. select if Year=2009 and Site=Paris. compute NewVar=mean(Price)找到每个条件均值。但是,我的数据集中有太多 网站 的组合,无法手动执行此操作。 顺便说一下,实际数据集中的所有变量都是数字的(我不知道它是否重要)。

知道如何在SPSS或其他一些统计软件中做到这一点吗?

2 个答案:

答案 0 :(得分:2)

AGGREGATE   /OUTFILE=* MODE=ADDVARIABLES   /BREAK=Site Year   /Price_mean=MEAN(Price).
if missing(price) price=Price_mean.
execute.

答案 1 :(得分:1)

查看AGGREGATE和MATCH命令(或带有SPLIT FILE的RMV)。 编辑: 添加了示例。

DATASET NAME rawdata.
SORT CASES BY Year Site.
DATASET DECLARE agg.
AGGREGATE OUTFILE agg / BREAK Year Site / Mean_Price=MEAN(Price).
MATCH FILES FILE =rawdata / TABLE agg / BY Year Site .
IF MISSING(Price) Price=Mean_Price.

*ALTERNATIVELY.
DATASET NAME rawdata.
SORT CASES BY Year Site.
SPLIT FILE BY Year SITE.
RMV /Mean_Price=SMEAN(Price).
IF MISSING(Price) Price=Mean_Price.
SPLIT FILE OFF.