我正在尝试将样本矢量化:来自同一种群的样本数次,每次样本大小不同。
我有一个向量a = c(boo = 5, foo=7)和b =LETTERS[1:10]。
我想要创建一个列表,从b中采样值,其中采样大小由a的值决定。
我试过mapply(sample, b, size = a),但不起作用.
发布于 2015-10-14 13:03:37
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 onhttps://stackoverflow.com/questions/33125904
复制相似问题