SPSS选择随机病例,同时对变量有条件

时间:2016-01-07 08:54:52

标签: spss

我想从其中一个变量中值为1的一组案例中选择随机案例。似乎只能从总子集中选择随机案例,而不是条件。

这是我的数据集的一个简单示例:

case 1. value  0
case 2. value  1
case 3. value  0
case 4. value  1
case 5. value  1
case 6. value  1
case 7. value  0

所以,我想从变量类别值为1的那些案例中抽取随机案例(50%)。这将使得案例1,3和7脱离随机选择。

一个选项是将值为1的案例转移到另一个数据库,然后选择随机案例。但是,我想将所有案例保留在数据库中。

有人知道这是否可以在SPSS中使用?

3 个答案:

答案 0 :(得分:0)

如果您单步执行下面的示例,而不是告诉您如何实现这一点,它应该提供足够的信息如何执行此操作:

DATA LIST FREE / X1 TO X3 D1.
BEGIN DATA
1 2 3 0
4 5 6 1
7 8 9 1
1 2 3 0
4 5 6 1
7 8 9 1
1 2 3 0
4 5 6 1
7 8 9 1
1 2 3 1
4 5 6 1
7 8 9 0
1 2 3 1
4 5 6 1
7 8 9 0
END DATA.
DATASET NAME DS1.
AGGREGATE OUTFILE=* MODE=ADDVARIABLES /BREAK=D1 /CountN=N.
COMPUTE Rand=RV.UNIFORM(0,1).
RANK Rand BY D1.
COMPUTE FILTER=D1=1 and RRand<=(CountN/2).
SORT CASES BY D1 Rand.

答案 1 :(得分:0)

为什么不使用像这样的简单计算 compute keep = value EQ 1和rv.uniform(0,1)GE .5。 过滤器保留。 (如果保留数据集中的所有案例但仅使用程序中的保留案例),或 选择IF。删除未选择的案例。

答案 2 :(得分:0)

是的,这是可能的。我假设你已经解决了这个问题,但也许对其他人有用。这很简单。首先,在“选择案例如果条件满足'然后在“中选择所有值为1(或任何所需值)的案例输出'部分您必须选择“将所选案例复制到新数据集”,并将其另存为新数据集。现在,您可以在具有所需参数的新数据集中进行拆分测试(绘制案例的随机样本)。