如果值大于组平均值,则选择案例

时间:2018-12-04 17:17:38

标签: select statistics spss

有没有办法以Select Cases If语法包含整个变量的平均值?

我有一个数据集,其中三个组每个n = 20(将变量grp的值分别为1、2或3排序),以及评估前后的结果(评估前后的变量)。我只想为每个组选择pre值高于组中该值的平均值的10种情况。

使用伪代码:

select if pre-value > mean(grp)

因此,如果组1中的平均值为15,则应将其与组1中所有值进行比较。但是同时,如果第2组的平均值为20,则应该将第2组案例的值与之进行比较。

现在,我只在Select Cases If窗口中看到MEAN(arg1,arg2,...)函数,但无法获得整个变量的均值,而在附加条件下(如组)则少得多。

是否可以使用Select Cases If语法执行此操作?

1 个答案:

答案 0 :(得分:1)

您需要创建一个包含该组平均值的新变量(因此,每个组中的所有行在该变量中都具有相同的值-组平均值)。然后,您可以将每一行与此值进行比较。

首先,我将创建一些示例数据进行演示:

data list list/grp pre_value .
begin data
1 3
1 6
1 8
2 1
2 4
2 9
3 55
3 43 
3 76
end data.

现在您可以计算组平均值并选择:

AGGREGATE  /OUTFILE=* MODE=ADDVARIABLES  /BREAK=grp  /GrpMean=MEAN(pre_value).
select if pre_value > GrpMean.