我希望可以使用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.
答案 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.