ggplot2: régression logistique - probabilités de tracé et ligne de régression

J'ai un ensemble de données.cadre contenant un prédicteur continu et une réponse dichotomique de la variable.

> head(df)
  position response
1        0        1
2        3        1
3       -4        0
4       -1        0
5       -2        1
6        0        0

Je peux facilement calculer une régression logistique par le biais de la glm()-fonction, pas de problèmes jusqu'à ce point.

Prochaine, je veux créer une intrigue avec ggplotqui contient à la fois empirique probabilités pour chacun de l'ensemble des 11 valeurs prédictives, et la régression ajustée ligne.

Je suis allé de l'avant et a calculé les probabilités avec cast() et sauvegardé dans un autre des données.cadre

> probs
   position   prob
1        -5 0.0500
2        -4 0.0000
3        -3 0.0000
4        -2 0.2000
5        -1 0.1500
6         0 0.3684
7         1 0.4500
8         2 0.6500
9         3 0.7500
10        4 0.8500
11        5 1.0000

J'ai tracé les probabilités:

p <- ggplot(probs, aes(x=position, y=prob)) + geom_point()

Mais lorsque j'essaie d'ajouter la régression ajustée ligne

p <- p + stat_smooth(method="glm", family="binomial", se=F)

il renvoie un message d'avertissement: non-integer #successes in a binomial glm!.
Je sais que pour le tracé de la stat_smooth "correctement", je dois appeler l'original df de données avec la variable dichotomique. Cependant, si j'utilise le dfdonnées dans ggplot(), je ne vois aucune façon de tracer les probabilités.

Comment puis-je combiner les probabilités et la ligne de régression dans une parcelledans la façon dont il est censé être dans ggplot2, c'est à dire sans aucune avertissements ou messages d'erreur?

source d'informationauteur vincentqu