Carregar e importar a base de dados

Importar do csv

# -------------------------------
# Passo 1 - Importação dos dados  
# -------------------------------

library(readr)
titanic <- read_csv("C:/Users/patri/OneDrive/Documentos/Estatistica/Base_de_dados-master/titanic3.csv")
head(titanic)
# A tibble: 6 x 14
  pclass survived name       sex     age sibsp parch ticket  fare cabin embarked
   <dbl>    <dbl> <chr>      <chr> <dbl> <dbl> <dbl> <chr>  <dbl> <chr> <chr>   
1      1        1 Allen, Mi~ fema~ 29        0     0 24160  211.  B5    S       
2      1        1 Allison, ~ male   0.92     1     2 113781 152.  C22 ~ S       
3      1        0 Allison, ~ fema~  2        1     2 113781 152.  C22 ~ S       
4      1        0 Allison, ~ male  30        1     2 113781 152.  C22 ~ S       
5      1        0 Allison, ~ fema~ 25        1     2 113781 152.  C22 ~ S       
6      1        1 Anderson,~ male  48        0     0 19952   26.6 E12   S       
# ... with 3 more variables: boat <chr>, body <dbl>, home.dest <chr>

Carregar do RData

# -------------------------------
# Passo 1,5 - Carregar a base de dados  
# -------------------------------

load("~/Estatistica/Base_de_dados-master/CARROS.RData")
head(CARROS)
                  Kmporlitro Cilindros Preco  HP Amperagem_circ_eletrico  Peso
Mazda RX4               21.0         6   160 110                    3.90 2.620
Mazda RX4 Wag           21.0         6   160 110                    3.90 2.875
Datsun 710              22.8         4   108  93                    3.85 2.320
Hornet 4 Drive          21.4         6   258 110                    3.08 3.215
Hornet Sportabout       18.7         8   360 175                    3.15 3.440
Valiant                 18.1         6   225 105                    2.76 3.460
                    RPM Tipodecombustivel TipodeMarcha NumdeMarchas
Mazda RX4         16.46                 0            1            4
Mazda RX4 Wag     17.02                 0            1            4
Datsun 710        18.61                 1            1            4
Hornet 4 Drive    19.44                 1            0            3
Hornet Sportabout 17.02                 0            0            3
Valiant           20.22                 1            0            3
                  NumdeValvulas
Mazda RX4                     4
Mazda RX4 Wag                 4
Datsun 710                    1
Hornet 4 Drive                1
Hornet Sportabout             2
Valiant                       1

Da uma olhada no banco de dados

# -------------------------------
# Passo 2 - Estrutura dos dados  
# -------------------------------
str(titanic)
spec_tbl_df [1,309 x 14] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
 $ pclass   : num [1:1309] 1 1 1 1 1 1 1 1 1 1 ...
 $ survived : num [1:1309] 1 1 0 0 0 1 1 0 1 0 ...
 $ name     : chr [1:1309] "Allen, Miss. Elisabeth Walton" "Allison, Master. Hudson Trevor" "Allison, Miss. Helen Loraine" "Allison, Mr. Hudson Joshua Creighton" ...
 $ sex      : chr [1:1309] "female" "male" "female" "male" ...
 $ age      : num [1:1309] 29 0.92 2 30 25 48 63 39 53 71 ...
 $ sibsp    : num [1:1309] 0 1 1 1 1 0 1 0 2 0 ...
 $ parch    : num [1:1309] 0 2 2 2 2 0 0 0 0 0 ...
 $ ticket   : chr [1:1309] "24160" "113781" "113781" "113781" ...
 $ fare     : num [1:1309] 211 152 152 152 152 ...
 $ cabin    : chr [1:1309] "B5" "C22 C26" "C22 C26" "C22 C26" ...
 $ embarked : chr [1:1309] "S" "S" "S" "S" ...
 $ boat     : chr [1:1309] "2" "11" NA NA ...
 $ body     : num [1:1309] NA NA NA 135 NA NA NA NA NA 22 ...
 $ home.dest: chr [1:1309] "St Louis, MO" "Montreal, PQ / Chesterville, ON" "Montreal, PQ / Chesterville, ON" "Montreal, PQ / Chesterville, ON" ...
 - attr(*, "spec")=
  .. cols(
  ..   pclass = col_double(),
  ..   survived = col_double(),
  ..   name = col_character(),
  ..   sex = col_character(),
  ..   age = col_double(),
  ..   sibsp = col_double(),
  ..   parch = col_double(),
  ..   ticket = col_character(),
  ..   fare = col_double(),
  ..   cabin = col_character(),
  ..   embarked = col_character(),
  ..   boat = col_character(),
  ..   body = col_double(),
  ..   home.dest = col_character()
  .. )
 - attr(*, "problems")=<externalptr> 
str(CARROS)
'data.frame':   32 obs. of  11 variables:
 $ Kmporlitro             : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ Cilindros              : num  6 6 4 6 8 6 8 4 4 6 ...
 $ Preco                  : num  160 160 108 258 360 ...
 $ HP                     : num  110 110 93 110 175 105 245 62 95 123 ...
 $ Amperagem_circ_eletrico: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ Peso                   : num  2.62 2.88 2.32 3.21 3.44 ...
 $ RPM                    : num  16.5 17 18.6 19.4 17 ...
 $ Tipodecombustivel      : num  0 0 1 1 0 1 0 1 1 1 ...
 $ TipodeMarcha           : num  1 1 1 0 0 0 0 0 0 0 ...
 $ NumdeMarchas           : num  4 4 4 3 3 3 3 4 4 4 ...
 $ NumdeValvulas          : num  4 4 1 1 2 1 4 2 2 4 ...
 - attr(*, "variable.labels")= chr [1:11] "Km por litro" "Número de Cilindros" "Preço" "HP = Horse Power (potência do motor)" ...

Limpeza de dados

Transformação de quanti para quali

# -------------------------------
# Passo 3 - Limpeza dos dados  
# -------------------------------

CARROS$Tipodecombustivel <- ifelse(CARROS$Tipodecombustivel==0,"Gas","Alc")
class(CARROS$Tipodecombustivel)
[1] "character"
CARROS$TipodeMarcha <- ifelse(CARROS$TipodeMarcha==0,"Aut","Man")

Criação da tabela de proporção

# -------------------------------
# Passo 4 - Tabela 
# -------------------------------

tabela <- table (CARROS$Tipodecombustivel)
tabela 

Alc Gas 
 14  18 
tabela_pro <- prop.table(tabela)*100
tabela_pro

  Alc   Gas 
43.75 56.25 

Visualização de dados

Gráfico de barras

# -------------------------------
# Passo 5 - Visualização  
# -------------------------------

#(tabela)
#barplot(tabela, main = "Gráfico tipo de combustível")
#barplot(tabela,
#        main = "Grafico tipo de combustível",
#        col=c("red","blue"))
#barplot(tabela,
#        main = "Grafico tipo de combustível",
#        col=c("red","blue"),ylim = c(0,20))
#barplot(tabela,
#        main = "Grafico tipo de combustível",
#        col=c("red","blue"),ylim = c(0,20),
#       ylab = "Freq")
#colors()

#barplot(tabela,
#        main = "Grafico tipo de combustível",
#        col=c("#7c1ab0","#f5f52c"),ylim = c(0,20),
#       ylab = "Freq")

barplot(tabela,
        main = "Grafico tipo de combustível",
        col=c("#d62ba0","#1dc7de"),ylim = c(0,20),
        ylab = "Freq")

Tabela de proporção Flextable

# -------------------------------
# Passo 6 - Tabela de prop
# -------------------------------

tabela_pro <- data.frame(tabela_pro)

names(tabela_pro)[1] <-"Tipo"
names(tabela_pro)[2] <-"Proporção"

#names(tabela_pro)

library(flextable)
flextable(tabela_pro)

Histogramas, médias e medianas

Médias e medianas

#-----------------------------------
# Média e mediana das vaiáveis preço, HP e Km/l
#-----------------------------------

names(CARROS)
 [1] "Kmporlitro"              "Cilindros"              
 [3] "Preco"                   "HP"                     
 [5] "Amperagem_circ_eletrico" "Peso"                   
 [7] "RPM"                     "Tipodecombustivel"      
 [9] "TipodeMarcha"            "NumdeMarchas"           
[11] "NumdeValvulas"          
mean(CARROS$Kmporlitro)
[1] 20.09062
mean(CARROS$Preco)
[1] 230.7219
mean(CARROS$HP)
[1] 146.6875
median(CARROS$Kmporlitro)
[1] 19.2
median(CARROS$Preco)
[1] 196.3
median(CARROS$HP)
[1] 123

Histograma

o histograma sugere duas modas

hist(CARROS$Kmporlitro,main = "Gráfico 1 - histograma do km/1", 
     xlab ="km/l", ylab ="frequência de carros", 
     breaks = 10,
     #nclass =10,
     col= c("#d62ba0","#d62ba0","#d62ba0","#1dc7de","#1dc7de"))

Comparação entre breaks e nclass

Não encontrado a diferença.

par(mfrow=c(2,1))

hist(CARROS$Kmporlitro,main = "Breaks", 
     xlab ="km/l", ylab ="frequência de carros", 
     breaks = 10,
     #nclass =10,
     col='red')

hist(CARROS$Kmporlitro,main = "nclass", 
     xlab ="km/l", ylab ="frequência de carros", 
     #breaks = 10,
     nclass =10,
     col='blue')

Histograma do preço e do HP

O HP é bem assimétrico!

par(mfrow=c(1,1))

hist(CARROS$HP,main = "Gráfico 2", 
     xlab ="HP", ylab ="frequência de carros", 
     col="#1dc7de")

hist(CARROS$Preco,main = "Gráfico 3", 
     xlab ="Preço do carro", ylab ="frequência de carros", 
     col="#d62ba0")

Criando uma sequencia de quebras do hist

quebras <-seq(50,500,25)
quebras
 [1]  50  75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500
hist(CARROS$Preco,main = "Gráfico 4", 
    breaks = quebras,
     ,xlab ="HP", ylab ="frequência de carros", 
     col="orange")

Conclusão

Aqui foi mostrado como fazer gráfico de barras e tabelas de proporção no R.