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

时间:2012-11-04 14:34:43

标签: r simulation 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)

1 个答案:

答案 0 :(得分: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

如果您希望hist“正常工作”,hist(d, breaks = 0:31)(当然还有许多其他事情)都会有效。