样品函数R不产生均匀分布的样品

use*_*871 4 simulation r sample random-sample

我正在创建一项调查.有31个可能的问题,我希望每个受访者回答3的子集.我希望他们以随机顺序进行管理.参与者不应该两次回答相同的问题

我创建了一个带有参与者索引的表矩阵,以及第一,第二和第三个问题的问题索引列.

使用下面的代码,索引31在我的样本中代表性不足.

我想我正在错误地使用示例函数.我希望有人能帮助我吗?

SgPassCode <- data.frame(PassCode=rep(0,10000), QIndex1=rep(0,10000),
  QIndex2=rep(0,10000), QIndex3=rep(0,10000))

set.seed(123)
for (n in 1:10000){
  temp <- sample(31,3,FALSE)
  SgPassCode[n,1] <- n 
  SgPassCode[n,-1] <- temp
}

d <- c(SgPassCode[,2],SgPassCode[,3],SgPassCode[,4])
hist(d)
Run Code Online (Sandbox Code Playgroud)

flo*_*del 8

问题在于hist它选择垃圾箱的方式,而不是sample.证明是以下的输出table:

table(d)
#    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16 
# 1003  967  938  958  989  969  988  956  983  990  921 1001  982 1016 1013  959 
#   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31 
#  907  918  918  991  931  945  998 1017 1029  980  959  886  947  987  954
Run Code Online (Sandbox Code Playgroud)

如果你想hist"工作",hist(d, breaks = 0:31)(当然还有很多其他的东西)会起作用.