Я использую следующий способ получения значений p из точного теста fiser. Однако мне нужно распечатать для каждой пары значения «n00, n01, n10, n11». Как я могу напечатать это как таблицу, а не матрицу, как показано ниже, вместе с p-значением?R: как распечатать таблицу с несколькими аргументами
fish <- function(y, x) {
n00 = sum((1-x)*(1-y))
n01 = sum((1-x)*y)
n10 = sum(x*(1-y))
n11 = sum(x*y)
a = matrix(c(n00, n01, n10, n11)
, nrow = 2)
pval = fisher.test(a)$p.value
return(pval)
}
chiArray <- function(x) apply(mat1, 1, fish, x)
sapply(1:nrow(mat2), function(j) chiArray(mat2[j, ]))
chisq.cna.mut.test <- sapply(1:nrow(mat2), function(j) chiArray(mat2[j, ]))
Я хочу вывода быть:
# name1_mat1 name1_mat2 n00 n01 n10 n11 pvalue
# name1_mat1 name2_mat2 n00 n01 n10 n11 pvalue
Вход является (MAT1) и ради этого примера, рассмотрим MAT2, чтобы быть таким же, как MAT1.
# ID case1 case2 case3
# name1 0 0 0
# name2 1 0 1
# name3 0 1 1
Можете ли вы привести воспроизводимый пример и лучше отформатировать ожидаемый результат? –
Привет, Роман, я отредактировал свой пост выше, как вы предложили. Ввод представляет собой двоичную матрицу (0s и 1s). И выход я хочу быть вектором, а не матрицей только значений, которые я получаю с помощью функции «sapply» – user2308154
Привет @ user2308154, не могли бы вы рассмотреть вопрос о принятии ответа ниже, если вы считаете, что ваш вопрос удовлетворительно ответил? :-) –