stata - 从变量中随机选择数字
问题描述
我有以下变量:
clear
input lottery1 lottery2 lottery3 lottery4 lottery5
12 14 15 12 11
13 8 14 3 1
18 17 19 19 2
19 2 2 5 8
7 12 10 19 8
1 12 19 6 13
16 1 8 6 2
7 5 11 7 15
1 5 1 9 15
1 8 6 3 14
14 15 15 3 14
20 9 4 4 9
14 4 14 7 13
9 3 12 14 11
1 1 15 3 13
4 18 8 19 1
12 8 5 9 17
1 20 15 10 19
14 19 16 10 2
20 5 14 7 9
1 2 20 19 20
16 12 18 18 6
14 7 2 17 8
5 14 13 16 9
14 17 17 11 16
4 15 12 4 20
4 19 11 17 19
14 13 12 9 8
6 15 7 13 3
4 2 11 7 11
8 1 3 14 17
12 14 3 10 6
17 3 2 7 20
12 20 14 5 13
3 12 5 19 18
16 4 20 7 17
11 18 18 2 3
16 17 17 6 6
3 16 12 14 4
14 6 9 11 11
7 12 17 15 15
7 12 7 7 12
7 4 13 10 9
16 10 15 10 15
14 8 7 3 3
6 18 4 17 16
15 16 10 5 11
13 14 19 14 10
5 4 20 13 1
15 4 3 17 6
end
如何从每个观察中随机选择一个数字并将其保存在一个新变量中lot
?
我上一个问题1
中提供的答案中的方法不起作用,因为我现在有变量而不是宏。
解决方案
与您之前的帖子一样,除非您明确说明,否则随机性并不意味着概率相等。相反,可以猜测这就是您的意思。
毫不奇怪,先前对不同问题的回答在这里不适用。
但是较早线程中的建议很容易适应。
generate rnd = runiform()
generate wanted = cond(rnd <= 0.2, lottery1, cond(rnd <= 0.4, lottery2, ///
cond(rnd <= 0.6, lottery3, cond(rnd <= 0.8, lottery4, lottery5))))