2
我想在因子水平內選擇我的數據框的隨機樣本。我可以使用ddply在因子水平內得到一個樣本:在因子水平內選擇一個隨機樣本,其大小取決於因子水平
library(dplyr)
newdf <- ddply(iris, ~Species, function(x){
ndf <- x[sample(nrow(x),2), ]
})
with(newdf,table(Species))
但是,我不想簡單地從每個因子水平中抽取2個觀測值。相反,我想從樣本的3個級別(即2個來自setosa,3個來自versicolor,4個frm virginica)抽樣2,3,4個觀測值。我怎樣才能做到這一點?
我可以創建一個向量值,例如: c(2,3,4)循環通過ddply分割的每個數據幀?
該向量中的值需要指定 - 它們不是所有數據的一致比例,也不是一個一致的數字。
謝謝@akrun。這工作很好。對於那些沒有立即看到的人(比如我幾周前就沒有),最後的2:4可以用樣本大小的命名向量代替。 – sianagh