メモ:独立変数にダミー変数が含まれるロジスティック回帰モデルから平均生起率を取り出すRスクリプト であるが...
「ダミー変数の標準化偏回帰係数」 で述べたように,glm 関数の返すオブジェクトを積極的に利用することにより,間違いの少ない,関数にもしやすいプログラムが書ける。
P.predi = function(object, target) {
d = model.matrix(object$terms, eval(object$model, parent.frame()))
x = min(d[, target]):max(d[, target])
n = length(x)
d2 = matrix(rep(colMeans(d), each = n), nrow = n)
colnames(d2) = names(object$coefficients)
d2[, target] = x
b.pred = d2 %*% object$coefficients
p.pred = 1 / (1 + exp(-b.pred))
drop(p.pred)
}
P.predi(res, "age")
いつものように,代入記号に = を使ったのは,このブログでのバグを避けるためなのでご勘弁を