我想从其中一个变量的值为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中是不是可能的?
发布于 2016-01-07 18:12:23
如果你一步步走完下面的例子,它应该提供足够的信息来实现这一点,而不是告诉你如何实现这一点:
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.发布于 2016-01-09 10:30:50
为什么不使用像compute keep = value EQ 1和rv.uniform(0,1) GE .5这样的简单计算。按keep过滤。(如果保留数据集中的所有案例,但仅使用将案例保留在过程中),或选择IF。删除未选中的案例。
发布于 2018-05-08 18:47:29
是的,这是可能的。我假设你已经解决了这个问题,但也许它对其他人有用。这很简单。首先,在“ select cases ”“If condition is save ”中选择值为1(或任何所需值)的所有案例,然后在“Output”部分中,您必须选择“Copy selected cases to a dataset ”,并将其保存为新数据集。现在,您可以使用所需的参数在新数据集中进行拆分测试(随机抽取案例样本)。
https://stackoverflow.com/questions/34650856
复制相似问题