全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1782 1
2021-07-19
几年前的一个帖子:
如何用stata做有放回抽样?
比如说我现在有一列叫做v1的数据,一共有10个值,我想从中随机抽取一个值,并把这个值赋值给一个标量s,要怎么做?
注意因为要重复抽样,所以原始数据也就是v1是不能改变的,只是随机从中选择一个值。
用sample似乎没法对特定的变量进行抽样,要抽就所有变量一起抽,而且把没抽中的都删除掉,所以似乎不行。
最佳答案:di v1[_N*uniform()]


现在如果这一列数据v1是按照id分组的(面板数据),一共有n个id,我想从中随机抽出一个组,一共抽取n次,并将抽取的值赋值给一个新的变量v2,该怎么做?
同样保持原始数据不能改变。
二维码

扫码加我 拉你入群

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

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

全部回复
2021-7-20 10:57:38
用for循环写了这样的代码:
   g  v2 = 0
   forvalues i = 1/n {
   local x = n*uniform()
     forvalues j=1/t {         //t为每组组内变量个数
         local y=floor(`x')*t+`j'
         local a=`i'*t+`j'-t
     replace v2=v1[`y'] in `a'
         }
   }
但是感觉很麻烦,有没有简单点的办法呢。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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