SPSS从受访者的输入中随机选择一个数字

时间:2019-11-14 10:02:18

标签: random spss

我希望可以使用SPSS语法从几个变量中随机选择一个数字。例如:数据在四个变量中列出了受访者的孩子的年龄-Age1 Age2 Age3 Age4

Resp 1: 3 6 8 
Resp 2: 2 10 
Resp 3: 4

我想创建一个变量,为每个受访者存储一个随机选择的年龄-类似于:

Resp 1: 6 
Resp 2: 2 
Resp 3: 4 

我目前正在使用的代码:

COUNT kids=age1 to age4 (1 thru 16).  
COMPUTE rand=RND(RV.UNIFORM(1, kids),1).  
DO REPEAT  
x1=age1 to age4  
/x2=1 to 4.  
IF (rand=x2) random_age=x1.  
END REPEAT.

2 个答案:

答案 0 :(得分:2)

这是我建议的任务代码。

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

data list list/id age1 to age4 (5f2).
begin data
1, 4, 5, 6, 7
2, 4, 5, 6,
3, 6, 7,,  
4, 8,,,   
5, 5, 6, 7, 
6, 10,,,
end data.

现在可以随机选择以下年龄之一:

compute numages=4-nmiss(age1 to age4).
compute SelectThis = rnd(uniform(numages)+.5).
do repeat ag=age1 to age4 /ind=1 to 4.
    if SelectThis=ind SelectedRandAge=ag.
end repeat.
exe.

答案 1 :(得分:1)

好吧,这是我暂时的尝试:

data list list /age1 to age4.
begin data.
10 9 5 8
3
13 15
1 4 5
4 7 8 2
end data.
count valid=age1 to age4 (lo thru hi).
compute s=trunc(1+uniform(valid)).
vector age=age1 to age4.
compute myvar=age(s).
list age1 to age4 myvar.