set.seed(1234)
x1 <- rnorm(20, 1, 2)
x2 <- rnorm(20)
y <- sign(-1 - 2 * x1 + 4 * x2 )
y[ y == -1] <- 0
df <- cbind.data.frame( y, x1, x2)
mdl <- glm( y ~ . , data = df , family=binomial)
slope <- coef(mdl)[2]/(-coef(mdl)[3])
intercept <- coef(mdl)[1]/(-coef(mdl)[3])
library(lattice)
xyplot( x2 ~ x1 , data = df, groups = y,
panel=function(...){
panel.xyplot(...)
panel.abline(intercept , slope)
panel.grid(...)
})
Я должен отметить, что здесь происходит идеальное разделение, поэтому glm
функция дает вам предупреждение. Но это не важно здесь, так как цель состоит в том, чтобы проиллюстрировать, как нарисовать линейную границу и цвета наблюдений в соответствии с их ковариатами.