基于某些条件的R自举

时间:2019-12-20 16:03:06

标签: r

我正在尝试根据某些条件对数据集进行引导。

下面是我的数据快照,第一行是列名。我的数据大约有1万行。

v1 
0
0
0
0
1
0
0
0
1
0
0

我想通过随机重新采样v1直到生成1来生成一个新的数据集,并进行观察计数。例如,第一次迭代对数据重新采样x次,直到出现1并记录它对数据重新采样的次数。

由于不清楚,请添加更多详细信息...

这是示例输出...

bootstrap_output
3
10
5
1
6
7

数字是v1中多少次“重采样”以获得值1的结果。 对于第一行,它将对v1进行三次重新采样,直到有一个1。因此,重新采样的顺序为(0,0,1)。第二行的重采样顺序为(0,0,0,0,0,0,0,0,0,1,)

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找一种几何分布,其中0表示失败,1表示成功,并且您采样直到选择1。

set.seed(1L)
DF <- data.frame(v1=c(0,0,0,0,1,0,0,0,1,0,0))
(bootstrap_output <- rgeom(6, sum(DF$v1) / nrow(DF)))

使用set.seed(1L)的示例输出:

#[1]  3  2 13  0  6  1