4
給定一個數據幀df
與一列名爲group
,你如何從dplyr中隨機抽樣k
組?它應該返回來自k
組的所有行(由於df$group
中至少有k
個唯一值),並且df
中的每個組應該返回的可能性相同。隨機樣本羣組
給定一個數據幀df
與一列名爲group
,你如何從dplyr中隨機抽樣k
組?它應該返回來自k
組的所有行(由於df$group
中至少有k
個唯一值),並且df
中的每個組應該返回的可能性相同。隨機樣本羣組
只需使用sample()
選擇組的一些數量
iris %>% filter(Species %in% sample(levels(Species),2))
雖然爲什麼你要做到這一點在dplyr
沒有意義的,我說:
library(microbenchmark)
microbenchmark(dplyr= iris %>% filter(Species %in% sample(levels(Species),2)),
base= iris[iris[["Species"]] %in% sample(levels(iris[["Species"]]), 2),])
Unit: microseconds
expr min lq mean median uq max neval cld
dplyr 660.287 710.655 753.6704 722.629 771.2860 1122.527 100 b
base 83.629 95.032 110.0936 106.057 119.1715 199.949 100 a
注意[[
是已知要比$
快,雖然兩者都可以工作
也許你可以提供一些例子多少數據?另請參閱'?sample_n' – SymbolixAU
虹膜就足夠了。分組變量有物種。 –
使用''sample_n''給每個組''n''隨機抽樣的行。我要求從''n''隨機抽樣組中的所有行。 –