Разве вы не делаете логит-преобразование, чтобы сделать переменную в диапазоне от минус бесконечности до плюс бесконечности? Я не уверен, если данные с 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). Вы ожидаете, что шансы на логи варьируются от минус бесконечности до плюс бесконечности. Таким образом, чтобы сложить или вычесть, вам нужно выбрать действительно очень длинное десятичное число, чтобы шансы журнала были близки к бесконечности (или очень велики) !! Степень, которую вы считаете достаточно большой, зависит исключительно от вас.