首页 > 解决方案 > 在 R 中制作 1000 个列联表

问题描述

我有一个名为“组合”的向量,带有 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

标签: r

解决方案


您需要包装整个表达式,sampletablereplicate. 将转换添加到 afactor以确保您始终获得 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

推荐阅读