向量化抽样函数:从抽样总体中抽样并创建抽样向量列表



我正在尝试对样本进行矢量化:从同一总体中抽取样本多次,每次的样本量不同。

我有一个向量a = c(boo = 5, foo=7)b =LETTERS[1:10]

我想创建一个列表,其值从b中采样,其中采样大小由a的值决定。

我试过mapply(sample, b, size = a),但它不工作…

mapply(function(x,y) sample(x, size=y), list(b), a)
[[1]]
[1] "D" "F" "H" "A" "C"
[[2]]
[1] "C" "D" "B" "I" "F" "G" "E"

mapply...参数中提供的每个对象的第一个元素,并对它们应用该函数。

我们必须使用list(b),这样它将被用作单个元素。如果我们在这里输入b,该函数将尝试b[1],以此类推。

我们可以这样想象每次迭代:

#mapply form
mapply(myfunc, x, y)
#first time
myfunc(x[1], y[1])
#second time
myfunc(x[2], y[2])
#and so on

最新更新