2015-02-13 2 views
2

Я пытаюсь создать таблицу со случайными записями из центрального гипергеометрического распределения, где фиксируются столбцы и строки.Создание таблицы непредвиденных обстоятельств с фиксированными полями

Однако я могу получить суммы столбцов фиксированными и равными, но не суммой строк. Я прочитал другие ответы, но никто, кажется, не говорит конкретно о том, как это сделать, мои знания 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.

ответ

2

Вы ищете функцию r2dtable из базы R?

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 
+0

Thankyou, это именно то, что мне нужно на полях. Однако есть ли способ получить больше контроля над значениями внутри таблицы? Например, как они распределяются? –

+1

Исправленные поля - довольно сильное ограничение. 'r2dtable', конечно, не имеет больше гибкости, но если вы можете вычислить вероятность для таблицы в интересующем вас дистрибутиве, вы можете сделать выборку отбраковки разумно эффективно. Можете ли вы дать больше контекста? –

Смежные вопросы