Uso de ggplot2 para gráficos de regressão

require(gsheet)
require(ggplot2)
url <- 'https://docs.google.com/spreadsheets/d/1JsFJF8aiaLocT88XnaccAIE_1T6xTxcqRFLrnWSB_lw/edit?usp=sharing'
dados <- gsheet2tbl(url)
dados <- read.table("D:/cama.txt", dec=".", sep="\t", header = TRUE)
## Warning in read.table("D:/cama.txt", dec = ".", sep = "\t", header = TRUE):
## incomplete final line found by readTableHeader on 'D:/cama.txt'
dados
##   dosecama    massa
## 1        0  7624.00
## 2        4 12441.00
## 3        8 12218.75
## 4       12 12371.50

Utilizando geom_smooth()

ggplot(data = dados) +
    geom_point(mapping = aes(x=dosecama, y=massa), size = 2) +
    labs(x= "Cama de aviário" ~ (t ~ ha ^-1), y = "Massa seca" ~ (kg ~ ha^-1)) +
    geom_smooth(data = dados, mapping = aes(x=dosecama, y=massa), method="lm", formula=y~poly(x,2), se=FALSE)

Utilizando layer()

ggplot(data = dados) +
geom_point(mapping = aes(x=dosecama, y=massa), size = 2) +
  labs(x= "Cama de aviário" ~ (t ~ ha ^-1), y = "Massa seca" ~ (kg ~ ha^-1)) +
  layer(data = dados, mapping = aes(x=dosecama, y=massa),geom = "smooth",stat = "smooth",params = list(method="glm", formula=y~poly(x,2), se=FALSE), position = position_identity())

modelo <- lm(data = dados, massa ~ dosecama + I(dosecama^2))
modelo
## 
## Call:
## lm(formula = massa ~ dosecama + I(dosecama^2), data = dados)
## 
## Coefficients:
##   (Intercept)       dosecama  I(dosecama^2)  
##       7894.71        1225.05         -72.88
coeficientes <- modelo$coefficients
coeficientes
##   (Intercept)      dosecama I(dosecama^2) 
##    7894.71250    1225.05312     -72.87891
texto <- sprintf('y = %.2fx² + %.2fx + %.2f, r² = %.2f', coeficientes[3], coeficientes[2], coeficientes[1], summary(modelo)$r.squared) #Para plotar a equação da reta e o r²
ggplot(data = dados) +
    geom_point(mapping = aes(x=dosecama, y=massa), size = 2) +
    labs(x= "Cama de aviário" ~ (t ~ ha ^-1), y = "Massa seca" ~ (kg ~ ha^-1)) +
    geom_smooth(data = dados, mapping = aes(x=dosecama, y=massa), method="lm", formula=y~poly(x,2), se=FALSE, color = "gray")+
    theme_classic() + #Layout com fundo branco
  geom_text(aes(x=min(dosecama), y=max(massa), label=texto), hjust=0, vjust=-3, size = 3) #adiciona equação da reta na área do gráfico

Rafael Henrique Pertille