Выполните qnorm () для p-значений 0 и 1 - PullRequest
0 голосов
/ 20 февраля 2020

Я делаю мета-регрессионный анализ для тестов не причинности Грейнджер в моей магистерской диссертации. Интересные эффекты распределены по F- и хи-квадратам, поэтому для использования темы в мета-регрессии их необходимо преобразовать в нормальные переменные. Прямо сейчас я использую пробит-функцию (обратную к стандартному нормальному кумулятивному распределению) для этого. И в основном это qnorm () p-значений (насколько я знаю).

Моя проблема заключается в том, что базовые исследования иногда сообщают p-значения 0 или 1. Преобразование их с помощью qnorm () дает мне значения Inf и -Inf. Мой подход к решению заключается в обмене 0 p-значениями со значениями около 0, например 1e-180 и 1 p-значениями со значениями около 1, например 0.9999999999999999 (возможны только 16 9, поскольку R меняет результаты на более «9» с 1).

Кто-нибудь знает лучшее решение этой проблемы? Это математически разумно? Исключение 0 и 1 p-значений полностью изменило бы результаты, и поэтому, по моему честному мнению, неправильно. Пример моего кода прямо сейчас:

df$p_val[df$p_val == 0] <- 1e-180
df$p_val[df$p_val == 1] <- 0.9999999999999999 

df$probit <- -qnorm(df$p_val)

Минус перед qnorm помогает интуиции, так что положительные значения связаны с отклонением нулевой гипотезы не-причинности на более высоких уровнях значимости.

Буду очень рад за поддержку / подсказки / et c.!

...