J'essaie d'ajuster une courbe de régression à mes données. Mon code génère l'intrigue et la courbe que je veux, cependant, je n'ai pas besoin du nuage de points - seulement la ligne. Si je commente l'intrigue, mon code échoue. Y a-t-il un moyen de contourner, d'éteindre, de cacher le nuage de points?Désactiver le nuage de points et imprimer uniquement la ligne de régression
En fin de compte, je devrai comparer plusieurs courbes de régression sur mon graphique et les diagrammes de dispersion deviennent source de distraction. En outre, mon R2 montre NULL. Y a-t-il un coefficient pour R2?
Code ci-dessous.
# get underlying plot
y <- dataset$'Fuel Consumed 24h'
x <-dataset$'Performance Speed'
plot(x, y, xlab = "Performance Speed", ylab = "24h Fuel Consumption")
# polynomial
f <- function(x,a,b,d) {(a*x^2) + (b*x) + d}
fit <- nls(y ~ f(x,a,b,d), start = c(a=1, b=1, d=1))
co <- round(coef(fit), 2)
r2 <- format(summary(fit)$r.squared, digits = 3)
curve(f(x, a=co[1], b=co[2], d=co[3]), add = TRUE, col="red", lwd=2)
eq <- paste0("Fuel = ", co[1], "PS^2 ", ifelse(sign(co[2]) == 1, " + ", " - "), abs(co[2]), "PS +", co[3], " R2 = ", r2)
# print equation
mtext(eq, 3, line =-2)
mylabel = bquote(italic(R)^2 == .(format(r2, digits = 3)))
text(x = 1, y = 2.5, r2)
essayer d'ajouter 'type = "n" complot' ... '(x, y, type = "n", ...', et nls doesnt retourner un r^2 comme il ne marche pas de sens (bien que je pense qu'il y a quelques paquets qui le font). Cela dit, votre modèle n'est pas non linéaire, et vous pouvez l'adapter avec 'lm' – user20650