首页 > 解决方案 > 从变量中随机选择数字

问题描述

我有以下变量:

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中提供的答案中的方法不起作用,因为我现在有变量而不是宏。

标签: stata

解决方案


与您之前的帖子一样,除非您明确说明,否则随机性并不意味着概率相等。相反,可以猜测这就是您的意思。

毫不奇怪,先前对不同问题的回答在这里不适用。

但是较早线程中的建议很容易适应。

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))))

推荐阅读