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

时间:2013-10-29 01:46:43

标签: 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'

3 个答案:

答案 0 :(得分:33)

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

m <- males[sample(nrow(males), 3500, replace = FALSE, prob = NULL),]

答案 1 :(得分:1)

您还可以使用$来选择要从中采样的数据集中的特定列。 例如:m&lt; - sample(dataframename $ variable,3500)

答案 2 :(得分:1)

将替换从False更改为True

m = sample(males, 3500, replace = True, prob = NULL)