Uso de ggplot2 para gráficos de regressão
require(gsheet)
require(ggplot2)
- Dados para os exemplos, baixados de documento online compartilhado.
url <- 'https://docs.google.com/spreadsheets/d/1JsFJF8aiaLocT88XnaccAIE_1T6xTxcqRFLrnWSB_lw/edit?usp=sharing'
dados <- gsheet2tbl(url)
- Exemplo de chamada de dados do computador
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())

- Exemplo de gráfico com plotagem de equação da reta.
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
