Je suis nouveau avec R et j'ai 3 modèles pour ajustement mes données comme suit:Comment tracer 3 modèles dans une figure dans R?
Modèle 1: y = a (x) + b
lm1 = lm(data$CBI ~ data$dNDVI)
Modèle 2: y = a (x) 2 + b (x) + c
lm2 <- lm(CBI ~ dNDVI + I(dNDVI^2), data=data)
Modèle 3: y = x (a | x | + b) -1
lm3 = nls(CBI ~ dNDVI*(a*abs(dNDVI) + b) - 1, start = c(a = 1.5, b = 2.7), data = data)
maintenant, je voudrais tracer tous ces trois modèles en R mais je ne pouvais pas trouver le moyen de le faire, pouvez-vous s'il vous plaît m'aider? J'ai essayé avec les deux premiers modèles suivent et ça marche mais je ne sais pas comment ajouter le modèle 3 sur elle:
ggplot(data = data, aes(x = dNDVI, y = CBI)) +
geom_point() +
geom_smooth(method = lm, formula = y ~ x, size = 1, se = FALSE) +
geom_smooth(method = lm, formula = y ~ x + I(x^2), size = 1, se = FALSE) +
theme_bw()
Je voudrais également ajouter une légende qui montre 3 couleurs ou types différents des lignes/courbes pour les 3 modèles. Pouvez-vous s'il vous plaît me guider comment le faire dans la figure?
ggplot2 n'a pas de méthode pour tracer 'modèles nls' directement de' geom_smooth' (défilement vers le bas pour "méthode" http : //ggplot2.tidyverse.org/reference/geom_smooth.html). Ajuster le modèle séparément, utiliser une fonction de prédiction pour créer un jeu de données fictif représentant la ligne d'ajustement, puis tracer ces données. –
Merci beaucoup donc je dois d'abord ajuster les modèles séparément puis utiliser geom_lines avec des valeurs prédites correctement? Salutations – tnbang
au moins pour 'lm3', il suffit d'ajouter cette ligne à votre appel' ggplot', les autres devraient correspondre comme vous les avez tracées - cela fonctionne bien maintenant, non? –