Tracer la ligne ajustée dans certaines limites R
À l'aide de R, je voudrais tracer une relation linéaire entre les deux variables, mais je voudrais l'équipée de la ligne à être présent uniquement dans la plage de données.
Par exemple, si j'ai le code suivant, je voudrais que la ligne d'exister uniquement à partir des valeurs x et y de 1:10 (avec les paramètres par défaut, cette ligne s'étend au-delà de la gamme de points de données).
x <- 1:10
y <- 1:10
plot(x,y)
abline(lm(y~x))
source d'informationauteur Thraupidae
Vous devez vous connecter pour publier un commentaire.
Au lieu d'utiliser
abline()
(a) enregistrer le modèle ajusté, (b) l'utilisationpredict.lm()
à trouver le bon axe des valeurs correspondant à x=1 et x=10, puis (c) l'utilisationlines()
à ajouter une ligne entre les deux points:En plus de l'utilisation de
predict
aveclines
ousegments
vous pouvez également utiliser leclip
fonction avecabline
:Vous pouvez faire cela en utilisant le prédire.
Vous pouvez prédire sur des valeurs de x (voir ?prédire)
La plotrix bibliothèque a la
ablineclip()
fonction pour cela il suffit de:Une alternative est d'utiliser le
segments
fonction (doc ici).Vous dire estimée à la ligne, et vous avez obtenu une interception de
a
et une pente deb
. Ainsi, votre fonction ajustée esty = a + bx
.Maintenant, disons que vous voulez afficher la ligne pour x entre
x0
etx1
. Ensuite, le code suivant parcelles de votre ligne:Il suffit de remplacer les valeurs de
a, b, x0, x1
avec ceux de votre choix.Pour ceux comme moi qui sont venus à cette question de vouloir tracer une ligne pour un arbitraire paire de nombres (et non pas ceux qui correspondent à une régression), le code suivant est-ce que vous avez besoin de:
Il suffit de remplacer les valeurs de
x0, y0, x1, y1
avec ceux de votre choix.