R 从数据集中创建1000个唯一样本而不进行替换

R 从数据集中创建1000个唯一样本而不进行替换,r,R,我不太熟悉R中的编程,我的问题如下:我有一个55个观察值的数据集。我想从这个数据集中创建1000个长度为45的新样本,它们必须是唯一的,没有两个样本可以是相同的。我尝试的是这个,但它没有给我想要的结果: set.seed(830219) Newsample <- numeric(1000) for(samp in 1:1000){ New <- sample(Xij, 45, replace=F) sam[boots] <- unique(New) } 有什么提示或

我不太熟悉R中的编程,我的问题如下:我有一个55个观察值的数据集。我想从这个数据集中创建1000个长度为45的新样本,它们必须是唯一的,没有两个样本可以是相同的。我尝试的是这个,但它没有给我想要的结果:

set.seed(830219)

Newsample <- numeric(1000)  

for(samp in 1:1000){ 
New <- sample(Xij, 45, replace=F)
sam[boots] <- unique(New)
}
有什么提示或解决方案吗?非常感谢

如果Xij是数据集向量的名称,则可以使用以下命令:

Newsample <- replicate(1000, sample(Xij, 45))

这将创建一个包含1000列和45行的矩阵。

什么是Xij和boots?这实际上是与上一个问题的重复。因为这纯粹是一个R编码问题,我投票将其迁移到。它可能会帮助您了解,在您的应用程序中,您不需要所有这些样本都是唯一的,而且即使您使用替换而不是不使用替换进行采样,其中许多样本也不太可能被复制。您不需要放入循环,而是可以编写replicate10000,sampleXij,45,replace=FI我不确定这是否解决了问题。您的解决方案基本上意味着原始数据中不会出现两次值。然而,我认为仍然有可能两个样本相同=不相同unique@MarkusRehm谢谢你指出。我想我误解了这个问题。