Начальная загрузка для теста Фишера - PullRequest
1 голос
/ 27 мая 2020

Я пытаюсь понять bootstrap передискретизацию, обеспечиваемую функцией "boot" в пакете: boot
Итак, мой пример:

x<-matrix(c(1,4,11,2),2,2,dimnames = list(c("Acinar", "Solid"),c("Few","Many")))
fishes <- function(d,f) {
    d=as.matrix(x)
        fisher.exact(d)
}
boot(x, fishes, R=1000)

Итак, я получил эту ошибку:

Ошибка в t.star [r,] <- res [[r]]: неправильное количество индексов в матрице </p>

Что не так?

1 Ответ

0 голосов
/ 27 мая 2020

У вас уже есть таблица непредвиденных обстоятельств, начальная загрузка не работает. Вам нужно bootstrap вверх по потоку, то есть подвыборку ваших наблюдений, составить таблицу 2x2 и проверить:

data = rbind(
data.frame(x=rep(c("Few","Many"),c(1,11)),y="Acinar"),
data.frame(x=rep(c("Few","Many"),c(4,2)),y="Solid"))

table(data)

      y
x      Acinar Solid
  Few       1     4
  Many     11     2

Вам также необходимо определить, что возвращать из теста Фишера, иначе boot выдаст ошибка:

library(boot)
fishes <- function(d,ind){
FT = fisher.test(table(d[ind,]))
c(FT$p.value,FT$estimate)
}

B = boot(data, fishes, R=100)
B

ORDINARY NONPARAMETRIC BOOTSTRAP


Call:
boot(data = data, statistic = fishes, R = 100)


Bootstrap Statistics :
      original      bias    std. error
t1* 0.02170868 0.057475511  0.14698585
t2* 0.05873784 0.003507629  0.09223193
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...