У меня есть фрейм данных в R с именем df
. Для каждой переменной во фрейме данных, которая является фактором, я хочу выполнить критерий хи-квадрат, стратифицированный по полу субъекта, и сохранить полученное значение p. Для этого я написал код, показанный ниже.
sapply(df, function(x) if(class(x) == "factor") { chisq.test(table(df$Sex, x))$p.value } )
Проблема в том, что когда я запускаю этот код, я получаю следующее:
There were 50 or more warnings (use warnings() to see the first 50)
warnings()
Warning messages:
1: In chisq.test(table(df$Sex, x)) : Chi-squared approximation may be incorrect
Как я могу изменить свой исходный код, чтобы вместо него выполнялся точный тест Фишера fisher.test()
, когда критерий хи-квадрат генерирует предупреждение? Я не уверен, как заставить код распознавать появление предупреждения. Спасибо!