在R

时间:2018-10-25 03:09:46

标签: r

我有一个称为“组合”的向量,其中有1和0

combined
1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

我从该向量中采样了两次,每个样本的样本大小为3,并将其放入如下的列联计数表中。

2    1
1    2

我想重复进行1000次采样,以结束于1000个列联表,每个列的采样数分别为1和0。

这是我尝试过的:

sample1 = as.vector(replicate(10000, sample(combined, 3)))
sample2 = as.vector(replicate(10000, sample(combined, 3)))
con_table = table(sample1,sample2)

但是我最终只得到1张桌子而不是10000张桌子。希望能得到一些帮助。

    8109 7573
    7306 7012

1 个答案:

答案 0 :(得分:0)

您需要将整个表达式sampletable包装在replicate中。向factor添加一次转换,以确保始终获得2x2表格。例如。具有2复制的简单版本:

combined <- rep(0:1,each=10)
combined <- as.factor(combined)
replicate(2, table(sample(combined,3), sample(combined,3)), simplify=FALSE)
#[[1]]
#   
#    0 1
#  0 0 1
#  1 1 1
#
#[[2]]
#   
#    0 1
#  0 1 1
#  1 0 1