Как получить глобальную оценку Фишера?

Я хочу получить более высокую оценку этих следующих списочных данных по элементам. Приношу свои извинения, что задаю этот статистический вопрос от этого сообщества. Однако мои данные содержат список оценок значимости перекрытия для 3 объектов GRange, я хочу получить глобальную оценку рыбака по элементам. Как я могу получить это в R?

Это данные, которые я хочу получить в глобальном масштабе по элементам:

[[1]]
NumericList of length 7
[[1]] 1e-22
[[2]] 1e-19
[[3]] 1e-18
[[4]] 1e-16
[[5]] 1e-24
[[6]] 1e-20
[[7]] 1e-15

[[2]]
NumericList of length 7
[[1]] 1e-24
[[2]] 1e-24
[[3]] 1e-20
[[4]] 1e-25
[[5]] 0.1
[[6]] 1e-19
[[7]] 1e-18

[[3]]
NumericList of length 7
[[1]] 1e-11
[[2]] 1e-11
[[3]] 1e-10
[[4]] numeric(0)
[[5]] numeric(0)
[[6]] 1e-15
[[7]] numeric(0)

воспроизводимый пример:

чтобы заменить числовое (0) на 0, попробуйте следующее:

v3 <- lapply(v3, function(x) {
  res <- ifelse(length(x)>0, x, 0)
})

 data <- DataFrame(
              v1=c(1e-22,1e-19,1e-18,1e-16,1e-24,1e-20, 1e-15),
              v2=c(1e-24,1e-24,1e-20,1e-25,0.1,1e-19,1e-18), 
              v3=c(1e-11,1e-11,1e-10,numeric(0),numeric(0),1e-15,numeric(0)))

мой желаемый результат что-то вроде (просто пример по элементам):

global fisher score of  `(1e-22, 1e-24, 1e-11)` = ?
global fisher score of  `(1e-19, 1e-24, 1e-11)` = ?
...
global fisher score of  `(1e-24, 1e-01, numeric(0))` = ?

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

Я хочу получить глобальную оценку рыбака по элементам. Как я могу получить это в R? В качестве альтернативы, если бы я использовал chisq.test, как я могу получить его статистику хи-квадрат по элементам для приведенной выше таблицы данных? Я буду признателен, если кто-нибудь может дать мне какую-либо идею для этого.


person Community    schedule 10.07.2016    source источник
comment
comment
это ваш одноклассник, спросил то же самое вопрос и удален , хотя у него был воспроизводимый пример данных:   -  person zx8754    schedule 11.07.2016
comment
Я действительно не знаю, видимо, я не мог получить достаточно информации о нем, чтобы узнать его личность. Я не вижу этот удаленный вопрос и не знаю, что данные, которые он получил, совпадают с моими. Однако я сталкиваюсь с этой проблемой, когда реализую свою собственную служебную функцию, и мне нужно решить эту проблему. Любая идея для проблемы, которую я поднял? Спасибо   -  person    schedule 11.07.2016
comment
@ zx8754: zx8754: Как вы и предложили, я добавил свой воспроизводимый пример. Спасибо   -  person    schedule 11.07.2016


Ответы (1)


это решение для получения глобальной оценки рыбака с использованием метода Фишера:

library(metap)
comb.pval <- suppressWarnings(
  res <- apply(data[,1:3],1, function(ro) sumlog(ro)$p)
)

ваше здоровье

Юрат

person Community    schedule 13.07.2016