Random Stata-如何生成随机整数
我正在学习Stata,想知道如何生成随机整数(无需替换)。如果我总共有10行,我希望每行都有一个从1到10的唯一整数。在R中,可以简单地执行以下操作:Random Stata-如何生成随机整数,random,integer,stata,Random,Integer,Stata,我正在学习Stata,想知道如何生成随机整数(无需替换)。如果我总共有10行,我希望每行都有一个从1到10的唯一整数。在R中,可以简单地执行以下操作: sample(1:10, 10) 但在斯塔塔似乎更难做到。从中,我看到: 如果我替换a=1和b=10,我得到的东西接近我想要的东西,但它是替换样本 在弄清楚这一部分之后,我将如何处理以下问题:我的数据是成对的。例如,在10次观察中,有5组2人。每组2个都有一个唯一的标识符。我将如何按随机顺序排列这些组(而不是观察结果)?数据如下所示: obs
sample(1:10, 10)
但在斯塔塔似乎更难做到。从中,我看到:
如果我替换a=1和b=10,我得到的东西接近我想要的东西,但它是替换样本
在弄清楚这一部分之后,我将如何处理以下问题:我的数据是成对的。例如,在10次观察中,有5组2人。每组2个都有一个唯一的标识符。我将如何按随机顺序排列这些组(而不是观察结果)?数据如下所示:
obs group mem value
1 A x 9345
2 A y 129
3 B x 251
4 B y 373
5 C x 788
6 C y 631
7 D x 239
8 D y 481
9 E x 224
10 E y 585
obs
是观测值<代码>组是观察(行)所属的组mem
是组中的成员标识符。每组有一个x
和一个y
。第一个问题:
你可以随意移动观察标识符
set obs 10
gen y = _n
gen rnd = runiform()
sort rnd
还是在马塔
jumble(1::10)
第二个问题:有几种方法。这里有一个
gen rnd = runiform()
bysort group (rnd): replace rnd = rnd[1]
sort rnd
一般性意见:对于再现性,事先设置随机数种子
set seed 2803
或者别的什么 第一个问题:
你可以随意移动观察标识符
set obs 10
gen y = _n
gen rnd = runiform()
sort rnd
还是在马塔
jumble(1::10)
第二个问题:有几种方法。这里有一个
gen rnd = runiform()
bysort group (rnd): replace rnd = rnd[1]
sort rnd
一般性意见:对于再现性,事先设置随机数种子
set seed 2803
或者别的什么 您还可以阅读Stata博客系列的第2部分:您还可以阅读Stata博客系列的第2部分:在第二个问题的解决方案中,为什么我们需要在bysort语句中包含(rnd)。我们可以不谈吗?可以;在第二个问题的解决方案中,我们为什么需要在bysort语句中包含(rnd)呢。我们可以不谈吗?可以;这将是另一种方法。