创建具有固定边距的列联表

时间:2015-02-13 01:00:37

标签: r statistics contingency

我正在尝试使用中心超几何分布中的随机条目创建一个表,其中列和行总数是固定的。

但是我可以将列总和固定并且相等而不是行总和。我已经阅读了其他答案,但似乎没有人专门讨论如何做到这一点,我的R知识非常基础,可以在一些帮助或指向正确的方向上做。

要从中心超几何分布中获取值,我使用的是BiasedUrn包。

例如:

N <- 50
rand <- 10
n1 <- 25
odds0 <- rep(1,K)  
m0 <- rep(N/K,K)
library(BiasedUrn)
i <- as.table(rMFNCHypergeo(nran=rand, n=n1, m=m0, odds=odds0))
addmargins(i) 
             A   B   C   D   E   F   G   H   I   J Sum
       A     5   3   5   7   5   5   6   6   5   5  52    
       B     8   7   4   5   5   6   3   4   5   4  51
       C     3   6   4   4   4   5   6   8   5   4  49
       D     4   4   6   3   6   4   5   3   3   5  43
       E     5   5   6   6   5   5   5   4   7   7  55
       Sum  25  25  25  25  25  25  25  25  25  25 250

我希望保留所有列总和等于25,并且所有行总和等于我可以选择的另一个数字,例如50。

1 个答案:

答案 0 :(得分:2)

您是否正在寻找基础R的r2dtable功能?

set.seed(101)
tt <- r2dtable(n=1,c=rep(25,6),r=rep(50,3))
addmargins(as.table(tt[[1]]))
##       A   B   C   D   E   F Sum
## A     7   9   7  11   9   7  50
## B    10   7  10   6   7  10  50
## C     8   9   8   8   9   8  50
## Sum  25  25  25  25  25  25 150