Introdução

Vamos carregar o banco de dados. Depois disso, vamos fazer uma limpeza do banco de dados para depois começar a fazer as estatísticas.

# Carregar banco de dados

load("C:/Users/steff/OneDrive/Área de Trabalho/Base_de_dados-master/Base_de_dados-master/CARROS.RData")

Transformação de variáveis

Aqui vamos pegar as variáveis tipodemarcha e tipodecombustivel e transformar em variáveis qualitativas.

CARROS$Tipodecombustivel <- ifelse(CARROS$Tipodecombustivel==0, "Gas", "Alc")
CARROS$TipodeMarcha <- ifelse(CARROS$TipodeMarcha==0, "Auto", "Manual")

summary(CARROS)
##    Kmporlitro   Cilindros       Preco           HP      Amperagem_circ_eletrico
##  Min.   :10   Min.   :4.0   Min.   : 71   Min.   : 52   Min.   :2.8            
##  1st Qu.:15   1st Qu.:4.0   1st Qu.:121   1st Qu.: 96   1st Qu.:3.1            
##  Median :19   Median :6.0   Median :196   Median :123   Median :3.7            
##  Mean   :20   Mean   :6.2   Mean   :231   Mean   :147   Mean   :3.6            
##  3rd Qu.:23   3rd Qu.:8.0   3rd Qu.:326   3rd Qu.:180   3rd Qu.:3.9            
##  Max.   :34   Max.   :8.0   Max.   :472   Max.   :335   Max.   :4.9            
##       Peso          RPM       Tipodecombustivel  TipodeMarcha      
##  Min.   :1.5   Min.   :14.5   Length:32          Length:32         
##  1st Qu.:2.6   1st Qu.:16.9   Class :character   Class :character  
##  Median :3.3   Median :17.7   Mode  :character   Mode  :character  
##  Mean   :3.2   Mean   :17.8                                        
##  3rd Qu.:3.6   3rd Qu.:18.9                                        
##  Max.   :5.4   Max.   :22.9                                        
##   NumdeMarchas NumdeValvulas
##  Min.   :3.0   Min.   :1.0  
##  1st Qu.:3.0   1st Qu.:2.0  
##  Median :4.0   Median :2.0  
##  Mean   :3.7   Mean   :2.8  
##  3rd Qu.:4.0   3rd Qu.:4.0  
##  Max.   :5.0   Max.   :8.0

Boxblot

Aqui vamos ver o conceito inicial de BOXPLOT

boxplot(CARROS$Preco,
        col = "pink", main = "Boxplot do preço do carro",
        horizontal = TRUE)

A média e a mediana na prática

Quando devo usar a media? Quando devo usar a mediana?

v1 <- c(1,2,3,4,5)
v1
## [1] 1 2 3 4 5
plot(v1)

#qual a média de v1?

mean(v1)
## [1] 3
## [1] 3
#qual a mediana de v1?

median(v1)
## [1] 3
## [1] 3

qual a mediana de v2?

v2 <- c(1,2,3,4,50000)

Outlier

50000 é um outlier

# qual a média de v2?
mean(v2)
## [1] 10002
## [1] 10002
# Qual é a mediana de v2?
median(v2)
## [1] 3
## [1] 3

Em resumo: 1. a média é sensível a outliers. 2. A média só pode ser usada em distribuição levemente assimétricas

VARIÁVEL QUALITATIVA POR VARIÁVEL QUANTITATIVA

boxplot por grupos

# quantitativa = preço
# qualitativa = tipo de marcha

boxplot(CARROS$Preco ~ CARROS$TipodeMarcha,
        main = "Gráfico 1 - boxplot do preço por tipo de marcha",
        col=c("red","blue"),
        ylab = "Preço do carro",
        xlab = "Tipo de marcha")

# quantitativa = km/l
# qualitativa = tipo de comb

boxplot(CARROS$Kmporlitro ~ CARROS$Tipodecombustivel,
        main = "Gráfico 2 - boxplot do km/l por tipo de combustivel",
        col=c("pink","blue"),
        ylab = "km/l",
        xlab = "Tipo de combustível")

# quantitativa = HP
# qualitativa = tipo de marcha

boxplot(HP ~ TipodeMarcha, data = CARROS,
        main = "Gráfico 3" ,
        col=c("orange","green"),
        Xlab = "HP",
        Ylab = "Tipo de marcha",
        horizontal = TRUE) 

Estatística para relacionamento de variáveis qualitativas e quantitativas

quantitativa = preço qualitativa = tipo de marcha

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(flextable)

CARROS %>% select(Preco,TipodeMarcha) %>% 
  group_by(TipodeMarcha) %>%
  summarise(Média=round(mean(Preco),1),
            Mediana=median(Preco),
            Desvio_Padrão= sd(Preco),
            Tamanho=n()) %>%
  flextable() %>%
  theme_tron()

Olhando aa função add_header_lines

library(flextable)

CARROS %>% select(Preco,TipodeMarcha) %>% 
  group_by(TipodeMarcha) %>%
  summarise(Média=round(mean(Preco),1),
            Mediana=median(Preco),
            Desvio_Padrão= sd(Preco),
            Tamanho=n()) %>%
  flextable() %>%
  add_header_lines("Tabela 1 - Estatísticas do preço do carro") %>%
  theme_tron()

**Quantitativa = Kmporlitro qualitativa = Tipo de combustível

# quantitativa = km/l
# qualitativa = tipo de comb

CARROS %>% select(Kmporlitro,Tipodecombustivel) %>% 
  group_by(Tipodecombustivel) %>%
  summarise(Média=round(mean(Kmporlitro),1),
            Mediana=median(Kmporlitro),
            Desvio_Padrão= round(sd(Kmporlitro),1),
            Tamanho=n()) %>%
  flextable() %>%
  add_header_lines("Tabela 2 - Estatística do Km/l do carro") %>%
  theme_vader()

Variável de interesse ( Variável resposta): HP Preditores lineares: Marcha

# quantitativa = HP
# qualitativa = tipo de marcha


CARROS %>% select(HP,TipodeMarcha) %>% 
  group_by(TipodeMarcha) %>%
  summarise(Média=round(mean(HP),1),
            Mediana=median(HP),
            Desvio_Padrão= sd(HP),
            Tamanho=n()) %>%
  flextable() %>%
  add_header_lines("Tabela 3 - Estatísticas do HP por marcha") %>%
  theme_tron_legacy()

Variável de interesse (Variável resposta): HP Preditores lineares: Marcha e Combustíveis

# Variável de interesse (Variável resposta): HP
# Preditores lineares: Marcha e Combustíveis


CARROS %>% select(HP, TipodeMarcha, Tipodecombustivel) %>%
  group_by(TipodeMarcha,Tipodecombustivel) %>%
  summarise(Média=round(mean(HP),1),
            Mediana=median(HP),
            Desvio_Padrão= sd(HP),
            Tamanho=n()) %>%
  flextable() %>%
  add_header_lines("Tabela 4 - Estatísticas do HP por marcha e tipo de combustível") %>%
  theme_tron_legacy()
## `summarise()` has grouped output by 'TipodeMarcha'. You can override using the
## `.groups` argument.

Variável de interesse: Preço e Km/l Preditor linear: Tipo de Marcha

# Variável de interesse: Preço e Km/l
# Preditor linear: Tipo de Marcha



CARROS %>% select(Preco,Kmporlitro,TipodeMarcha) %>%
  group_by(TipodeMarcha) %>%
  summarise(média_preco=mean(Preco),
            dp_preço=round(sd(Preco),1),
            `média_km_l`=round(mean(Kmporlitro),1),
            `dp_km_l`=round(sd(Kmporlitro),1)) %>%
  flextable() %>%
  add_header_lines("Tabela 5 - Estatísticas do preço e Km/l por tipo de marcha") %>%
  theme_zebra()          

Olhando a função filter e criando o seu próprio tema Qual a relação do preço do carro com o tipo de marcha dado que ele é um carro a álcool?

CARROS %>% filter(Tipodecombustivel=='Alc') %>%
  select(Preco,TipodeMarcha) %>%
  group_by(TipodeMarcha) %>%
  summarise(Média=mean(Preco),
            Mediana=median(Preco)) %>%
  flextable() %>%
  bg(j = "Média", bg = "skyblue", part = "body") %>%
  bg(j = "Mediana", bg = "pink", part = "body") %>%
  bg(j = "TipodeMarcha", bg = "lightyellow", part = "body") %>%
  add_header_lines("Tabela 6 - Estatísticas do Preço por
                   tipo de marcha para carros a alc")

Conclusão

Hoje olhamos relacionamento de variáveis qualitativas com variáveis quantitativas.

O R é demais!

Referências Bibliográficas

Hadley Wickham, Romain François, Lionel Henry and Kirill Müller (2022). dplyr: A Grammar of Data Manipulation. R package version 1.0.8. https://CRAN.R-project.org/package=dplyr