web-dev-qa-db-fra.com

Tracer la courbe de régression logistique en R

Je veux tracer une courbe de régression logistique de mes données, mais chaque fois que j'essaie de faire mon tracé, je produit plusieurs courbes. Voici une photo de ma dernière tentative:

dernière tentative

Voici le code pertinent que j'utilise:

fit = glm(output ~ maxhr, data=heart, family=binomial)
predicted = predict(fit, newdata=heart, type="response")

 plot(output~maxhr, data=heart, col="red4")
 lines(heart$maxhr, predicted, col="green4", lwd=2)

Mon professeur utilise le code suivant, mais lorsque j'essaie de l'exécuter, j'obtiens une erreur sur la dernière ligne disant que les longueurs x et y ne correspondent pas:

# fit logistic regression model
fit = glm(output ~ maxhr, data=heart, family=binomial)
# plot the result
hr = data.frame(maxhr=seq(80,200,10))
probs = predict(fit, newdata=dat, type="response")
plot(output ~ maxhr, data=heart, col="red4", xlab ="max HR", ylab="P(heart disease)")
lines(hr$maxhr, probs, col="green4", lwd=2)

Toute aide serait appréciée.

Modifier:

Comme demandé, code reproductible à l'aide du jeu de données mtcars:

fit = glm(vs ~ hp, data=mtcars, family=binomial)
predicted= predict(fit, newdata=mtcars, type="response")
plot(vs~hp, data=mtcars, col="red4")
lines(mtcars$hp, predicted, col="green4", lwd=2)
9
cafemolecular
fit = glm(vs ~ hp, data=mtcars, family=binomial)
newdat <- data.frame(hp=seq(min(mtcars$hp), max(mtcars$hp),len=100))
newdat$vs = predict(fit, newdata=newdat, type="response")
plot(vs~hp, data=mtcars, col="red4")
lines(vs ~ hp, newdat, col="green4", lwd=2)

enter image description here

13
Marc in the box