我正在尝试使用中心超几何分布中的随机条目创建一个表,其中列和行总数是固定的。
但是我可以将列总和固定并且相等而不是行总和。我已经阅读了其他答案,但似乎没有人专门讨论如何做到这一点,我的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。
答案 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