そもそも、glm関数は「一般化線形モデル(線形回帰モデルや線形ロジスティック回帰モデルなどを理論的に一般化したモデル)を推定する」関数です。この一般化線形モデルは目的変数 y の確率構造として「指数分布族」に含まれる任意の確率分布を選ぶことができ、それによって誤差分布に正規分布を仮定する線形回帰モデルや二項分布(ベルヌーイ分布)のパラメータをモデル化する線形ロジスティック回帰モデルなどのパラメータの推定を行います。
さて、これらの事前情報に対し、現在起きているエラーを整理すると、
Error in eval(expr, envir, enclos) : y values must be 0 <= y <= 1
は既に回答があるように「目的変数が0〜1の範囲から外れていて推定できない!」というエラーです。ロジスティック回帰では目的変数は0もしくは1の値である必要があり、このルールに反しては推定はできません。
次に
family = binomialの部分を消して実行するとエラーがなくなるのですが、なぜですか?
はglm関数の使い方のエラーです。glm関数で線形回帰や線形ロジスティック回帰を使い分けるパラメータが「family」であり、デフォルトで線形回帰、binomial を指定するとロジスティック回帰になります。つまり、family=binomial を外した=線形回帰モデルの推定を実行しているのであって、当然目的変数 y が 0 or 1 というルールは不要になります。
以上、参考まで。
2016/12/17 01:50
2016/12/20 09:37