全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8088 7
2012-05-02
如何用stata做有放回抽样?

比如说我现在有一列叫做v1的数据,一共有10个值,我想从中随机抽取一个值,并把这个值赋值给一个标量s,要怎么做?

注意因为要重复抽样,所以原始数据也就是v1是不能改变的,只是随机从中选择一个值。

用sample似乎没法对特定的变量进行抽样,要抽就所有变量一起抽,而且把没抽中的都删除掉,所以似乎不行。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-5-2 15:10:05
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 15:14:39
都说这不行,不能影响原始数据的,sample和bsample都不行,如果行的话请把程序代码写出来。别随便就拿个帖子贴过来,这些我都看过的,请看清楚我的要求再来回答。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 15:21:33
注意因为要重复抽样,所以原始数据也就是v1是不能改变的,只是随机从中选择一个值。
既然“只抽一个”,何必“(可放回)重复抽样”一说?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 15:23:14
请看明白sample与bsample的结果,再想想是否可以用它们实现你想要的结果。

preserve
keep v1
bsample 1
sca v=v1[1]
restore
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 15:50:24
sungmoo 发表于 2012-5-2 15:21
既然“只抽一个”,何必“(可放回)重复抽样”一说?
嗯,因为刚才那个抽一个只是举例,因为其实这个从10个值中有放回抽取1个的过程要重复比如说1000次,并取得1000个抽样值,不过这可以用循环语句做到,所以只要知道抽1次怎么做就可以了。并且因为接下来我也要用这些数据做别的事情,所以要保持数据不减少。

我用sample和bsample抽样以后数据就只剩下抽中的,别的就被删除了。而且这两个命令是以“行”为单位来抽选,确实这样对于选择样本来说是合理的,毕竟一行才是一个样本。但是我这次偏偏只是要样本中的一个变量里的一个值,所以觉得有点“大材小用”的感觉。

当然我可以通过将这一列转换成一个列向量然后用随机数选择元素的方式来抽选,但是觉得这样似乎绕圈子了,所以想知道stata有没有能直接随机选择样本里一个变量的一个值的命令,不用通过什么preserve和restore来恢复被破坏的数据,要一条命令解决的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群