我試圖向量化樣本:幾次來自同一羣體的樣本,每次樣本量不同。矢量化樣本函數:從樣本羣體中抽取樣本並創建抽樣矢量列表
我有一個載體a = c(boo = 5, foo=7)
和b =LETTERS[1:10]
。
我想創建一個列表,其中取值從b取值,其中取樣大小由a的值確定。
我試過mapply(sample, b, size = a)
,但它不工作...
我試圖向量化樣本:幾次來自同一羣體的樣本,每次樣本量不同。矢量化樣本函數:從樣本羣體中抽取樣本並創建抽樣矢量列表
我有一個載體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
我想知道,有沒有辦法使用矢量的名稱作爲列表項的名稱?當然,我可以使用'names(list_a_b)< - 名稱(a)' –
是的,這是最好的方法。 –
嘗試'mapply(函數(X,Y)的樣品(X,大小= Y),列表(b)中,)' –
好吧,就算我從b中抽樣,'mapply(function(x,y)sample(x,y),b,a)'似乎不起作用。 –
刷新屏幕:) –