Настройте уровни значимости для множественного тестирования на корреляционных графиках

Я хотел бы настроить несколько тестов при построении нескольких тестов корреляции. corr.test из пакета mental работает хорошо, но не имеет хорошего графического вывода. Меня особенно интересует использование ggpairs из пакета GGally, потому что он допускает множественные корреляции для каждой ячейки (например, разделение по видам в примере ниже). Но я не могу найти способ добавить p.adjust или подобное заявление.

Например:

library(GGally)
data(flea)
ggpairs(flea, columns=2:4, ggplot2::aes(colour=species))

Выполняет 12 отдельных корреляционных тестов и создает красивый график, на котором уровни значимости отмечены звездочками. Но как приспособиться к выполнению 12 корреляционных тестов (вместо одного)?

Я бы хотел сделать что-нибудь вроде:

ggpairs(flea, columns=2:4, ggplot2::aes(colour=species, p.adjust="Bonferroni"))

Это не вызывает ошибок. Но это также приводит, насколько я могу судить, к отсутствию разницы в тестах значимости - похоже, что оператор p.adjust игнорируется.

1) Это игнорируется? Как получить доступ к фактическим p-значениям, а не только к ***, чтобы проверить это более подробно?

2) Предполагая, что он игнорируется, как я могу внести изменения в тесты значимости, чтобы учесть множественное тестирование?

Меня особенно интересуют методы, которые могут обрабатывать несколько типов корректировок, а не только Бонферрони. Я использую Bonferroni в этом примере, потому что он наиболее консервативен и поэтому (как мне показалось) легче всего увидеть различия между исправленным / нескорректированным выводом. Я хотел бы использовать это для визуализации результатов нескольких десятков или сотен тестов корреляции с поправками fdr (или аналогичными).


person RLB    schedule 09.06.2020    source источник
comment
пробовали ли вы сохранить свои корреляции из corr.test (например, boncors), а затем вызвать upper = list (continuous = boncors) - как аналогичный подход, используемый здесь: stackoverflow.com / questions / 61686171 /   -  person Jonni    schedule 11.06.2020


Ответы (1)


Нет, спасибо за предложение. Возможно, мне здесь что-то не хватает, но, похоже, все не так просто:

holm_cors<-corr.test(flea[,2:4]) #default is holm method multiple test corrections
holm_p<-fdr_cors$p

ggpairs(flea, columns=c(2:4), mapping=ggplot2::aes(colour=flea$species), legends=T, axisLabels="show", upper=list(continuous=holm_p)+
theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank(), axis.line=element_line(colour="black")))

Я также попробовал upper = list (continuous = holm_cors, Continuous = "holm_p" и т. Д., А также обернул функцию corr.test с помощью upper = list (continuous = wrap (corr.test)).

Во всех случаях возвращаемая верхняя панель остается пустой.

person user13757955    schedule 16.06.2020
comment
Привет, похоже, это не отвечает на вопрос, не могли бы вы вместо этого переместить его в комментарий? Спасибо - person Valeri Voev; 16.06.2020
comment
Я получаю сообщение об ошибке, в котором говорится, что мне нужна репутация ›50, чтобы комментировать, поэтому, к сожалению, я не могу. - person user13757955; 17.06.2020