R说"不能采取比人口更大的样本" - 但我没有采取比人口更大的样本

aha*_*ler 25 r

我试图从一组5655个观测中挑选3500个随机观测值.但是当我这样做时,R会抛出一个奇怪的错误,说"当'replace = FALSE'时,"不能采取大于人口的样本"

我试图采取比人口更小的样本.为什么R会抛出这个错误?

> nrow(males)
[1] 5655
> m = sample(males, 3500, replace = FALSE, prob = NULL)
Error in sample.int(length(x), size, replace, prob) : 
  cannot take a sample larger than the population when 'replace = FALSE'
Run Code Online (Sandbox Code Playgroud)

Aar*_*ica 34

您需要从数字中抽样,而不是从数据框中抽样.然后使用结果获取采样行.

m <- males[sample(nrow(males), 3500, replace = FALSE, prob = NULL),]
Run Code Online (Sandbox Code Playgroud)