Разве вы не делаете логит-преобразование, чтобы сделать переменную в диапазоне от минус бесконечности до плюс бесконечности? Я не уверен, если данные с 0 и 1 должны быть проблемой. Это показывает какое-либо сообщение об ошибке? Кстати, если у вас есть только пропорции, ваш анализ всегда будет неправильным. Вы должны использовать , weight=argument
чтобы glm
с числом случаев.
Если ничего не работает, вы можете использовать медианное разделение, разделение на квартили или любую другую точку разделения, которую вы считаете целесообразной, чтобы разделить DV на несколько категорий, а затем выполнить вместо этого Порядковую логистическую регрессию. Это может сработать. Попробуйте эти вещи.
Лично я не думаю, что добавление 0,001 к нулям и взятие 0,001 из них - это слишком плохая идея, но у нее есть некоторые проблемы, которые будут обсуждаться позже. Подумайте, почему бы вам не сложить и не вычесть 0,000000001 (или даже больше десятичных знаков)? Это будет лучше представлять 0 и 1 !! Вам может показаться, что это не имеет большого значения. Но это действительно так.
Давайте посмотрим на следующее:
> #odds when 0 is replaced by 0.00000001
> 0.00000001/(1-0.00000001)
[1] 1e-08
> log(0.00000001/(1-0.00000001))
[1] -18.42068
> #odds when 1 is replaced by (1-0.00000001):
> (1-0.00000001)/(1-(1-0.00000001))
[1] 1e+08
> log((1-0.00000001)/(1-(1-0.00000001)))
[1] 18.42068
> #odds when 0 is replaced by 0.001
> 0.001/(1-0.001)
[1] 0.001001001
> log(0.001/(1-0.001))
[1] -6.906755
> #odds when 1 is replaced by (1-0.001):
> (1-0.001)/(1-(1-0.001))
[1] 999
> log((1-0.001)/(1-(1-0.001)))
[1] 6.906755
Итак, вы видите, вам нужно держать шансы как можно ближе к (0/1) и (1/0). Вы ожидаете, что шансы на логи варьируются от минус бесконечности до плюс бесконечности. Таким образом, чтобы сложить или вычесть, вам нужно выбрать действительно очень длинное десятичное число, чтобы шансы журнала были близки к бесконечности (или очень велики) !! Степень, которую вы считаете достаточно большой, зависит исключительно от вас.