楼主: 雨宮天夢
8190 7

如何用stata做有放回抽样? [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

本科生

3%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
3.7557
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
798 点
帖子
30
精华
0
在线时间
98 小时
注册时间
2012-2-23
最后登录
2022-9-12

楼主
雨宮天夢 在职认证  发表于 2012-5-2 14:16:16 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如何用stata做有放回抽样?

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

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

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

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何用 Sample AMPL 数据 如何

沙发
sungmoo 发表于 2012-5-2 15:10:05

藤椅
雨宮天夢 在职认证  发表于 2012-5-2 15:14:39
都说这不行,不能影响原始数据的,sample和bsample都不行,如果行的话请把程序代码写出来。别随便就拿个帖子贴过来,这些我都看过的,请看清楚我的要求再来回答。

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

报纸
sungmoo 发表于 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来恢复被破坏的数据,要一条命令解决的。

7
sungmoo 发表于 2012-5-2 16:00:33
要一条命令解决的
di v1[_N*uniform()]

8
雨宮天夢 在职认证  发表于 2012-5-2 16:16:03
就是这种感觉!大感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 04:02