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(...)
})
Devo observar que a separação perfeita ocorre aqui; portanto, a glm
função fornece um aviso. Mas isso não é importante aqui, pois o objetivo é ilustrar como desenhar o limite linear e as observações coloridas de acordo com suas covariáveis.