Pacotes que serão utilizados

  • DPLYR

Vamos então ativá-los:

library(dplyr)
library(kableExtra)

Verbos que serão utilizados

  • RENAME
  • SLICE
  • SELECT
  • DISTINCT
  • FILTER
  • ARRANGE
  • MUTATE
  • IFELSE
  • SUMMARISE
  • GROUP_BY + SUMMARISE
  • GROUP_BY + SUMMARISE + MUTATE
  • LEFT_JOIN

Quadro comparativo - R x Excel

R Excel
read.csv Abrir csv
rename Renomar colunas
slice Selecionar linhas
select Selecionar colunas
distinct Tirar duplicada
filter Filtrar
arrange Ordenar dados
mutate Criar nova coluna
ifelse Se
summarise Soma, Média, Mediana, Contagem etc…
group_by + summarise + mutate Tabela Dinâmica
left_join Procv

Abrir a base de dados

Inserir dados internamente

Criar colunas no Excel

Criar colunas no R

classe_ticket <-  c("a","b","b",NA,"c")

sobreviveu <- c(1.32,2.25,3.43,2.47,NA)

Transformar em tabela no Excel

Transformar em tabela no R

kable(data.frame(sobreviveu, classe_ticket) %>% slice(1:7)) %>% 
  kable_styling()
sobreviveu classe_ticket
1.32 a
2.25 b
3.43 b
2.47 NA
NA c

Inserir dados externamente

Criar colunas no Excel

Criar colunas no R

base <- read.csv("titanic.csv", stringsAsFactors = FALSE)

kable(base %>% slice(1:7)) %>% 
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 3 Mr. Owen Harris Braund masculino 22 7.25
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28
1 3 Miss. Laina Heikkinen feminino 26 7.93
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86

Transformar em tabela no Excel

Transformar em tabela no R

  kable(as.data.frame(base) %>% slice(1:7)) %>% 
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 3 Mr. Owen Harris Braund masculino 22 7.25
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28
1 3 Miss. Laina Heikkinen feminino 26 7.93
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86

Alterar o tipo de dado no Excel

Alterar o tipo de dado no R

base$idade <- as.integer(base$idade)
Tabela resumo de conversão de dados
as.integer()
as.numeric()
as.logical()
as.character()
as.factor

Renomear Colunas

Renomar colunas no Excel

Renomear colunas no R

kable(base  %>% 
rename(tarifa = tarifa_passagem) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa
0 3 Mr. Owen Harris Braund masculino 22 7.25
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28
1 3 Miss. Laina Heikkinen feminino 26 7.93
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86

Selecionar linhas

Selecionar linhas no Excel

Selecionar linhas no R

kable(base  %>% 
slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 3 Mr. Owen Harris Braund masculino 22 7.25
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28
1 3 Miss. Laina Heikkinen feminino 26 7.93
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86

Selecionar colunas

Selecionar certas colunas no Excel

Selecionar certas colunas no R

kable(base  %>% 
select(sobreviveu, nome) %>% 
  slice(1:6)) %>%
  kable_styling()
sobreviveu nome
0 Mr. Owen Harris Braund
1 Mrs. John Bradley (Florence Briggs Thayer) Cumings
1 Miss. Laina Heikkinen
1 Mrs. Jacques Heath (Lily May Peel) Futrelle
0 Mr. William Henry Allen
0 Mr. James Moran

Retirar certas colunas no Excel

Retirar certas colunas no R

kable(base  %>% 
select(-sobreviveu, -nome) %>% 
  slice(1:7)) %>%
  kable_styling()
classe_ticket genero idade tarifa_passagem
3 masculino 22 7.25
1 feminino 38 71.28
3 feminino 26 7.93
1 feminino 35 53.10
3 masculino 35 8.05
3 masculino 27 8.46
1 masculino 54 51.86

Mudar a ordem das colunas Excel

Mudar a ordem das colunas no R

kable(base  %>% 
select(classe_ticket, nome, genero, idade, tarifa_passagem, sobreviveu) %>% 
  slice(1:7)) %>%
  kable_styling()
classe_ticket nome genero idade tarifa_passagem sobreviveu
3 Mr. Owen Harris Braund masculino 22 7.25 0
1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28 1
3 Miss. Laina Heikkinen feminino 26 7.93 1
1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10 1
3 Mr. William Henry Allen masculino 35 8.05 0
3 Mr. James Moran masculino 27 8.46 0
1 Mr. Timothy J McCarthy masculino 54 51.86 0

Valores dinstintos

Valores dinstintos no Excel

Valores dinstintos no R

kable(base  %>% 
distinct(genero) %>% 
  slice(1:7)) %>%
  kable_styling()
genero
masculino
feminino

Filtros

Filtros no Excel

Igual

Maior

Diferente

Filtros no R

Igual

kable(base  %>% 
filter(genero == "masculino") %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 3 Mr. Owen Harris Braund masculino 22 7.25
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86
0 3 Master. Gosta Leonard Palsson masculino 2 21.08
0 3 Mr. William Henry Saundercock masculino 20 8.05
0 3 Mr. Anders Johan Andersson masculino 39 31.28

Maior

kable(base  %>% 
filter(idade > 40) %>% 
 slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 1 Mr. Timothy J McCarthy masculino 54 51.86
1 1 Miss. Elizabeth Bonnell feminino 58 26.55
1 2 Mrs. (Mary D Kingcome) Hewlett feminino 55 16.00
1 1 Mrs. William Augustus (Marie Eugenie) Spencer feminino 48 146.52
0 2 Mr. Edward H Wheadon masculino 66 10.50
0 1 Mr. Alexander Oskar Holverson masculino 42 52.00
1 1 Mrs. Henry Sleeper (Myna Haxtun) Harper feminino 49 76.73

Diferente

kable(base  %>% 
filter(idade != 40) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
0 3 Mr. Owen Harris Braund masculino 22 7.25
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28
1 3 Miss. Laina Heikkinen feminino 26 7.93
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10
0 3 Mr. William Henry Allen masculino 35 8.05
0 3 Mr. James Moran masculino 27 8.46
0 1 Mr. Timothy J McCarthy masculino 54 51.86

Ordenar

Ordenar no Excel

Do menor para o maior

Do maior para o menor

Ordenar no R

Do menor para o maior

kable(base  %>% 
arrange(idade) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
1 2 Master. Alden Gates Caldwell masculino 0 29.00
1 1 Master. Hudson Trevor Allison masculino 0 151.55
1 3 Miss. Helene Barbara Baclini feminino 0 19.26
1 3 Miss. Eugenie Baclini feminino 0 19.26
1 2 Master. Viljo Hamalainen masculino 0 14.50
1 3 Master. Assad Alexander Thomas masculino 0 8.52
1 2 Master. George Sibley Richards masculino 0 18.75

Do maior para o menor

kable(base  %>% 
arrange(-idade) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem
1 1 Mr. Algernon Henry Wilson Barkworth masculino 80 30.00
0 3 Mr. Johan Svensson masculino 74 7.78
0 1 Mr. George B Goldschmidt masculino 71 34.65
0 1 Mr. Ramon Artagaveytia masculino 71 49.50
0 3 Mr. Patrick Connors masculino 70 7.75
0 2 Mr. Henry Michael Mitchell masculino 70 10.50
0 1 Capt. Edward Gifford Crosby masculino 70 71.00

Criar nova coluna

Criar nova coluna no Excel

Criar nova coluna no R

kable(base  %>% 
mutate(status = "Embarcado") %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem status
0 3 Mr. Owen Harris Braund masculino 22 7.25 Embarcado
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28 Embarcado
1 3 Miss. Laina Heikkinen feminino 26 7.93 Embarcado
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10 Embarcado
0 3 Mr. William Henry Allen masculino 35 8.05 Embarcado
0 3 Mr. James Moran masculino 27 8.46 Embarcado
0 1 Mr. Timothy J McCarthy masculino 54 51.86 Embarcado

Criar nova coluna com condicional no Excel

Criar nova coluna com condicional no R

kable(base  %>% 
mutate(classe = ifelse(classe_ticket == 1,
                       "Primeira classe",
                       ifelse(classe_ticket == 2, "Segunda classe","Terceira Classe"))) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem classe
0 3 Mr. Owen Harris Braund masculino 22 7.25 Terceira Classe
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28 Primeira classe
1 3 Miss. Laina Heikkinen feminino 26 7.93 Terceira Classe
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10 Primeira classe
0 3 Mr. William Henry Allen masculino 35 8.05 Terceira Classe
0 3 Mr. James Moran masculino 27 8.46 Terceira Classe
0 1 Mr. Timothy J McCarthy masculino 54 51.86 Primeira classe

Criar nova coluna a partir de outras colunas no Excel

Criar nova coluna a partir de outras colunas no R

kable(base  %>% 
mutate(nova_tarifa = tarifa_passagem*10) %>% 
  slice(1:7)) %>%
  kable_styling()
sobreviveu classe_ticket nome genero idade tarifa_passagem nova_tarifa
0 3 Mr. Owen Harris Braund masculino 22 7.25 72.5
1 1 Mrs. John Bradley (Florence Briggs Thayer) Cumings feminino 38 71.28 712.8
1 3 Miss. Laina Heikkinen feminino 26 7.93 79.3
1 1 Mrs. Jacques Heath (Lily May Peel) Futrelle feminino 35 53.10 531.0
0 3 Mr. William Henry Allen masculino 35 8.05 80.5
0 3 Mr. James Moran masculino 27 8.46 84.6
0 1 Mr. Timothy J McCarthy masculino 54 51.86 518.6

Sumarizar os dados

Média no Excel

Média no R

kable(base  %>% 
summarise(media_ticket = mean(tarifa_passagem))) %>%
  kable_styling()
media_ticket
32.30622

Quantidade no Excel

Quantidade no R

kable(base  %>% 
summarise(qtd_ticket = n())) %>%
  kable_styling()
qtd_ticket
887

Soma no Excel

Soma no R

kable(base  %>% 
summarise(soma_ticket = sum(tarifa_passagem))) %>%
  kable_styling()
soma_ticket
28655.62

Agrupar os dados

Agrupar os dados pela média no Excel

Tarifa média por classe de ticket

Tarifa média paga por quem sobreviveu x não sobreviveu

Agrupar os dados pela média no R

Tarifa média por classe de ticket

kable(base  %>% 
  group_by(classe_ticket) %>% 
  summarise(media_ticket = mean(tarifa_passagem))) %>%
  kable_styling()
classe_ticket media_ticket
1 84.15500
2 20.66223
3 13.70901

Tarifa média paga por quem sobreviveu x não sobreviveu

kable(base  %>%
  group_by(sobreviveu) %>% 
summarise(media_ticket = mean(tarifa_passagem))) %>%
  kable_styling()
sobreviveu media_ticket
0 22.20954
1 48.39596

Agrupar pela quantidade no Excel

Agrupar pela quantidade no R

kable(base  %>% 
  group_by(genero) %>% 
  summarise(qtd_ticket = n())) %>%
  kable_styling()
genero qtd_ticket
feminino 314
masculino 573

Agrupar com percentual no Excel

Agrupar com percentual no R

kable(base  %>% 
  group_by(genero) %>% 
  summarise(qtd_ticket = n()) %>%
  mutate(perc = round(qtd_ticket/sum(qtd_ticket),2))) %>% 
  kable_styling()
genero qtd_ticket perc
feminino 314 0.35
masculino 573 0.65