如果数据集中存在相同的值,如何在R中随机选择样本?



我有一个有几列的数据集,每列有数千个数据。我想随机选择一些样本。但是,每列中存在一些相同的值。如何让R在不替换的情况下选择样本,同时确保这些相同的值可以随机选择?

例如,一个名为df:

的数据集
df <- c(1,2,3,3,3,4,5,6,6)

我如何使用sample(x=df, size=5, replace=False)来获得这样的结果:

newdf: #> [1] 3 3 2 5 6。我只想让R可以随机选择相同的值不管它们在结果中出现多少次。但不使用replace=TRUE,因为我不想重复这样的值:newdf: #> [1] 1 1 2 2 3.

我是一个R的新手,如果你能给我一些建议我会很感激的!

@RonakShah的评论是正确的-只要使用sample(df, 5, replace = FALSE)

解释:
想象df中的每个值都被索引,1,2,3,…n .

抽样不替换只是指每次从df中抽取一个特定索引处的值。如果索引1处的值被绘制,则df中的索引1不再是序列中后续绘制的有效绘制。

所以replace参数并不关注重复的,而是确保所选df没有重复的索引

From the docs:

选择下一个项目的概率与剩余项目的权重成正比。

相关内容

  • 没有找到相关文章