# Instalar pacotes necessários
if(!require(RColorBrewer)) install.packages("RColorBrewer")
## Carregando pacotes exigidos: RColorBrewer
# Carregar bibliotecas
library(RColorBrewer)
cores <- brewer.pal(5, "Dark2")
# Configurar o diretório de trabalho e carregar os dados
setwd("E:/3. ESTUDO/RSTUDIO/ESTUDANTES")
arquivo <- "tdcolab.csv"

tdcolab <- read.csv(arquivo, header=TRUE, sep=";")
colnames(tdcolab) <- c("anos", "avd")
head(tdcolab)
##   anos avd
## 1    8  10
## 2    3   6
## 3    9   7
## 4    3   8
## 5    6   9
## 6   13   9

Visualização dos Dados

default.par <- par(no.readonly = TRUE) 
plot(tdcolab$anos, tdcolab$avd, col=cores[1], pch=20,
     main="Tempo de Empresa vs. Nota AVD",
     xlab="Anos",
     ylab="Nota AVD",
     lwd=4)

Modelo de Regressão Linear

# modelo de regressão linear
Regressao <- lm(avd ~ anos, data=tdcolab)

# linha de regressão ao gráfico
plot(tdcolab$anos, tdcolab$avd, col=cores[1], pch=20,
     main="Tempo de Empresa vs. Nota AVD com Regressão",
     xlab="Anos",
     ylab="NOta AVD",
     lwd=4)
abline(Regressao, col=cores[2], lwd=4)

# Coeficientes do modelo
Regressao$coefficients
## (Intercept)        anos 
##   6.2970190   0.1678049

Estrutura e Resumo do Modelo

# Resumo estatístico do conjunto de dados
summary(tdcolab)
##       anos           avd        
##  Min.   : 1.0   Min.   : 5.000  
##  1st Qu.: 3.0   1st Qu.: 6.000  
##  Median : 6.0   Median : 7.000  
##  Mean   : 7.5   Mean   : 7.556  
##  3rd Qu.:10.5   3rd Qu.: 9.000  
##  Max.   :21.0   Max.   :10.000

Cálculo de Predições

# Cálculo do valor de Y baseado em X
TempoEmpresa <- 5
y <- Regressao$coefficients[1] + (TempoEmpresa * Regressao$coefficients[2])

# Adicionar o ponto estimado ao gráfico
plot(tdcolab$anos, tdcolab$avd, col=cores[1], pch=20,
     main="Tempo de Empresa vs. Nota AVD com Previsão",
     xlab="Anos",
     ylab="Nota AVD",
     lwd=4)
abline(Regressao, col=cores[2], lwd=4)
points(TempoEmpresa, y, col=cores[3], lwd=4, pch=20)
lines(c(TempoEmpresa, TempoEmpresa), c(min(tdcolab$avd), y), col=cores[3], lty=2)
segments(0, y, TempoEmpresa, y, col=cores[3])

y
## (Intercept) 
##    7.136043