O R
não é apenas uma linguagem de programação, é também um ambiente integrado de desenvolvimento. É um projeto GNU, que foi desenvolvido na Bell Laboratories (antiga AT & T, agora Lucent Technologies) por John Chambers e seus colegas.
De acordo com seus criadores, o R
é um conjunto integrado de instalações de software para manipulação de dados, cálculo e exibição gráfica, e esse ambiente inclui:
Além disso, o R conta com uma ampla comunidade que oferece suporte e ajuda aos usuários.
Isso faz do R um projeto aberto
, o que sigfinica ser continuamente melhorado, atualizado e expandido pela comunidade global de desenvolvedor e seus usuários.
Neste primeiro módulo (Introdução ao R) faremos uso de alguns arquivos externos que estão disponíveis na pasta datasets no nosso diretório no dropbox.
populacao.txt
,populacao.csv
e populacao.xlsx
: São todos a mesma base, porém em formatos diferentes. Trata-se dados simulados de uma amostra de pessoas de cinco regiões diferentes. Com informações sobre idade, gênero e região.
iris:
(inclída no R) refere-se a informações sobre o comprimento e a largura de pétalas e sépalas (em centímetros) de 50 flores.
dados_anp2.csv
: Com o objetivo de evitar possíveis irregularidades, desde 02 de maio de 2004, a ANP publica o Levantamento de Preços e de Margens de Comercialização de Combustíveis, contemplando a ampliação do universo de municípios pesquisados, abrangendo todos os estados brasileiros. A divulgação da pesquisa encontra-se no site http://www.anp.gov.br/preco/ Os combustíveis incluídos nessa pesquisa são: Gasolina, Etanol, Diesel, GNV, Diesel S10. Essa base contém dados dos preços de venda e compra desses combustíveis no ano de 2016. Esses dados foram capturados usando a técnica de wescraping com R.
Human development index (HDI).csv
: base com a evolução do Índice de desenvolvimento Humano (IDH) nos anos de 2013 e 2014.
churn_telecon.csv
,churn_telecon.xlsx
echurn_telecon_tab
: dados coletados no http://www.kaggle.com/. São referntes à uma empresa de telecom, com informações sobre dados móveis, pacotes de dados que o cliente possui. Também é possível saber se o cliente permanece na empresa ou não.
Neste curso faremos uso da versão mais recente do R, para instalá-la siga os passos:
Neste curso além do R faremos uso do RStudio, para instalá-lo basta:
Free
Além de acessar o R e Rsudio em sua máquina, é possível acessá-lo via Azure Notebook
Portal Azure
, acesse seu Painel de Recursos
e Selecione:RStudio
4. Aprecie sem moderação!
O RStudio é um ambiente de desenvolvimento integrado (IDE) para R. Nele estão inclusos ferramentas que facilitam o uso da linguagem R, como um console e uma janela que suporta a execução do código direto, e instrumentos que auxiliam na análise histórica do script e debugação de possíveis erros.
O RStudio está disponível em open source e edições comerciais e é executado no desktop (Windows, Mac e Linux) ou em um navegador conectado ao RStudio Server ou ao RStudio Server Pro (Debian / Ubuntu, RedHat / CentOS e SUSE Linux).
Ao abrir o RStudio será aberto uma tela grande com quatro telas menores:
help()
.
Scripts são arquivos em texto onde são armazenados os seus comandos em R, os scripts são escritos na primeira tela do RStudio. Para criar um novo Script basta seguir o caminho: File >> New File >> R Script
:
Para salvar um script escrito, basta seguir o caminho: File >> Save As...
:
Para fazer com que o R entenda que você está executando uma linha de comando existem duas maneiras. A primeira é fortemente desencorajada, que é colocar o cursor ao final da linha ou selecionar as linhas que deseja e excutar e clicar no botão:
A segunda forma vai facilitar a sua vida durante o curso que é:
CRTL + Enter
São operações que resultam em um número, essas operações são:
Operação | Código |
---|---|
Soma | + |
Subtração | - |
Multiplicação | * |
Divisão | / |
Potência | a**b |
Raiz Quadrada | sqrt() |
Módulo | %% |
Média | mean() |
Desvio Padrão | sd() |
Mediana | median() |
Logaritmo | log(x, base) |
Exemplo: Qual é o resultado de \(\sqrt[2]{25}\)?
sqrt(25)
## [1] 5
Exemplo: Qual é o resto da divisão de \(\frac{5}{2}\)?
5%%2
## [1] 1
São operações que testam se uma situação é verdadeira ou falsa, os principais operadores são:
Operação | Código |
---|---|
Negação | ! |
Contém | %in% |
Maior | > |
Menor | < |
Igual | == |
Diferença | != |
Exemplo: Considere \(a=25\) e \(b=45\) analise se a é maior:
5%%2
## [1] 1
Os operadores lógicos acima analisam se uma situação é verdadeira ou falsa de maneira pontual. Existem operadores lógicos que analisam de maneira mais ampla se uma situção é verdadeira ou não:
&
ou &&
.|
ou ||
.xor()
.Exemplo: Analise se \(25^2 = \sqrt{625}\) E se Bigdata= bigData:
25**2==sqrt(625) & "Bigdata" == "bigData"
## [1] FALSE
Exemplo: Analise se \(25^2 = \sqrt{625}\) OU se Bigdata= bigData:
25**2==sqrt(625) | "Bigdata" == "bigData"
## [1] FALSE
São objetos destinados a guardar temporariamente os valores calculados. Para atribuir um valor à um objeto basta digitar o comando <-
ou =
.
OBS: No R você pode criar objetos e visualizá-los de duas maneiras distintas:
Exemplo:
(a=3)
## [1] 3
Exemplo:
a=3
a
## [1] 3
_
entre palavrasBom:
votos <- c("Sim", "Não", "Não", "Não", "Sim")
valor_produto <- c(1.32, 6.2, 1.9, 3.05)
Ruim:
data <- c(1, 3, 2, 4)
MuitasCoisasJuntosNumaBase <- c("alo", "tchau", "bom dia!")
Código em geral deve ser escrito numa forma que o deixe fácil ler depois. Por exemplo, insira espaços entre operadores como =, e quebre partes longas craindo novas linhas no código. Um exemplo que é ruim:
x<-data.frame(primeira=c(1,2,"João", "Maria"),segunda=3:6,terceira=TRUE)
x
## primeira segunda terceira
## 1 1 3 TRUE
## 2 2 4 TRUE
## 3 João 5 TRUE
## 4 Maria 6 TRUE
A versão melhor:
x <- data.frame(primeira = c(1, 2, "João", "Maria"),
segunda = 3:6,
terceira = TRUE)
x
## primeira segunda terceira
## 1 1 3 TRUE
## 2 2 4 TRUE
## 3 João 5 TRUE
## 4 Maria 6 TRUE
No R, há alguns tipos de variáveis que você pode ter num dataframe:
num
: variável numerica, e.g. 1.45
(também chamada dbl);int
: número inteiro, e.g. 2
;chr
: caracter, ou “string”, e.g. "Maria"
;log
: logical, FALSE
ou TRUE.
Factor
: caracter que tem níveis numéricos, que vamos explorar numa outra aula.data
: datas e horas.Obviamente, algumas funções só podem ser aplicadas no tipo correto de variável: você não pode calcular a média de um chr
, por exemplo. Com variáveis lógicas (TRUE/FALSE
), podemos fazer operações matemáticas, porque TRUE = 1
e FALSE = 0
internamente no R; também podemos fazar cálculos com Factors.
Todos esses tipos têm funções para transformar uma variável no tipo desejado e para checar o tipo. No entanto, há limites obviamente, você não pode transformar "Maria"
num número!
Como o próprio nome indica, são variáveis que contém números.
Exemplo: Considere \(a=2\) e \(b=5\), calcule \(c=a+b\)
a=2
b=5
c=a+b
c
## [1] 7
Exemplo: Considere \(a=15\) e \(b=25\), calcule \(c=a+b\) e \(d=(\sqrt[3]{c})\)
a=15
b=25
(c=a+b)
## [1] 40
d=c^(1/3)
d
## [1] 3.419952
São palavras, textos, letras, entre outros. Para atribuir a uma variável tipo character é necessário colocar o valor entre ""
(aspas duplas) ou ''
(aspas simples).
Exemplo: Crie \(nome_1=Big\) e \(nome_2=Data\):
nome1="big"
nome1
## [1] "big"
nome2='data'
nome2
## [1] "data"
Exemplo: Calcule \(nomecompleto=nome_1+nome_2\):
Para resolver essa questão é necessário fazer uso da função paste(), essa função server para concatenar duas ou mais variáveis character
.
nomecompleto=paste(nome1,nome2)
nomecompleto
## [1] "big data"
Caso não seja útil o espaço entre as palavras, basta usar a função paste0()
:
nomecompleto=paste0(nome1,nome2)
nomecompleto
## [1] "bigdata"
Dados do tipo data podem ser importados de diversos tipos em especial character
. É muito útil transformar caracteres em datas, principalmente quando arquivos são importados de fontes externas.
Exemplo: Transforme 06/02/2017 em data:
data="06/02/2017"
formatodata=as.Date(x = data,format="%d/%m/%Y")
formatodata
## [1] "2017-02-06"
No exemplo acima foi feito o uso da função as.Date()
, que tem como inputs:
x
: Objeto a ser transformadoformat
: como esta divido o texto a ser transformado em data (no exemplo acima estava divido por “/”):
%d
= representa o dia%m
= representa o mês%Y
= representa o anoÉ uma variável booleana que pode receber como valores as situações TRUE
(verdadeira) ou FALSE
(Falso).
##Conhecendo a classe de um objeto
Para saber qual é a classe de um objeto basta usar a função class()
ou str()
:
Exemplo: Considere \(a=3\), descubra a classe de a.
a=3
str(a)
## num 3
Exemplo: Considere \(a=3\), descubra a classe de a.
a=3
class(a)
## [1] "numeric"
Vetores são objetos que armazenam unidimensionalmente várias variáveis da mesma classe.
Imagine que você é um diretor de uma empresa que vende um determinado produto em todos os estados brasileiros. Assim, se você quisesse ter o conjunto de preços por estado de cada produtos você deveria criar 27 objetos numéricos diferentes.
Para evitar esse trabalho desnecessário o correto é usar vetores, que armazenará em um único objeto todos os preços em um formato sequêncial:
No R para criar um vetor basta usar a função c()
:
Exemplo: Crie um vetor chamado nomes
que contenha:
nomes=c("Anna","Paula","Roberta","Ingrid","Fernanda","João")
nomes
## [1] "Anna" "Paula" "Roberta" "Ingrid" "Fernanda" "João"
É comum, trabalhar com um ou mais elementos específicos de um vetor, para acessa-los é necessário conhecer a indexação:
onde:
\(i\) = é a posição do elemento solicitado.
\(V\) = Vetor em questão
No R, segue essa mesma lógica basta digitar nome_vetor[posição desejada]
.
Exemplo: Considere o vetor \(v=[1,10,15,5,30,2]\), qual é o primeiro elemento do vetor?
v=c(1,10,15,5,30,2)
v[1]
## [1] 1
Caso queira mais de uma posição digite nome_vetor[posicao_inicial:posicao_final]
:
Exemplo: Ainda com o vetor \(v=[1,10,15,5,30,2]\), quais são os três primeiros elementos do vetor?
v[1:3]
## [1] 1 10 15
Para saber o tamanho de um vetor, basta usar a função length()
:
Exemplo: Qual é o tamanho do vetor \(v=[1,10,15,5,30,2]\)?
v=c(1,10,15,5,30,2)
length(v)
## [1] 6
Agora vamos supor que você é um professor e no primeiro dia de aula tem a lista com o nome dos alunos:
Mas no segundo dia surgiram mais 5 alunos:
Como colocar os novos nomes na antiga lista?
No R, para concatenar vetores basta usar a função c(primeiro_objeto,segundo_objeto,...)
.
Exemplo: Concatene as listas com os nomes dos alunos:
nomes1<-c("Anna","Pedro","Carlos","Bruno","Vanessa","Paula","Italo")
nomes2<-c("Jorge","Davi","Mariana","Carolina","Alice")
nomes_completo<-c(nomes1,nomes2)
nomes_completo
## [1] "Anna" "Pedro" "Carlos" "Bruno" "Vanessa" "Paula"
## [7] "Italo" "Jorge" "Davi" "Mariana" "Carolina" "Alice"
Função | Saída |
---|---|
mean() | Médias dos valores em um vetor |
max() | Retorna o valor Máximo |
min() | Retorna o Valor Mínimo |
sum() | Retorna a soma dos elementos |
unique() | Remoção de duplicatas |
Concatene com o vetor \(v2=[105,250,300,175,157,147,134]\).
Remova as duplicatas.
Qual é o terceiro elemento?
Qual é o o tamanho do vetor?
Qual é a média dos valores?
Qual é o maior elemento?
No mundo real as informações não estão contidas em uma unica dimensão (vetor), na maioria dos casos são necessárias mais informações. Por exemplo caso na lista dos alunos, é importante as datas das aulas para saber o nível de presença, o nome da matéria, entre outras informações.
Neste tipo de cenário o adequado é o uso de tabelas. No r as tabelas são chamadas de Data Frame, e são os objetos mais usados na linguagem.
No R para criar um data frame basta usar a função data.frame()
.
Produto | Preço |
---|---|
Produto A | R$ 5,00 |
Produto B | R$ 15,00 |
Produto C | R$ 4,00 |
Produto D | R$ 6,00 |
Produto E | R$ 8,00 |
Crie esta tabela no R:
Produto<-c("Produto A"," Produto B","Produto C", "Produto D","Produto E")
Preco<-c(5,15,4,6,8)
tabela_preco_produto<-data.frame(Produto,Preco)
tabela_preco_produto
## Produto Preco
## 1 Produto A 5
## 2 Produto B 15
## 3 Produto C 4
## 4 Produto D 6
## 5 Produto E 8
A indexação dos valores de uma data frame é parecida com a indexação dos vetores, sendo que com duas dimensões:
onde:
\(df\) = data frame criado
\(i\) = é posição da linha onde está o objeto desejado
\(j\) = é a posição da coluna do objeto desejado
No R, segue essa mesma lógica basta digitar data_frame[posição linha, posição coluna]
.
Exemplo: Acesse o preço do Produto D
na tabela produtos:
tabela_preco_produto[4,2]
## [1] 6
Exemplo: Acesse os preço do Produto D
e Produto E
na tabela produtos:
tabela_preco_produto[4:5,2]
## [1] 6 8
Além da indexação tradicional pelo número da coluna, existem outras duas formas muito úteis para acessar uma coluna de um data frame.
A primeira é data_frame$nome_coluna
:
Exemplo: Acesse a coluna produtos na tabela_produto:
tabela_preco_produto$Produto
## [1] "Produto A" " Produto B" "Produto C" "Produto D" "Produto E"
A segunda forma é usando colchetes, data_frame[,"nome_coluna"]
Exemplo: Acesse a coluna produtos na tabela_preco_produto
:
tabela_preco_produto[,"Produto"]
## [1] "Produto A" " Produto B" "Produto C" "Produto D" "Produto E"
A criação de um a nova coluna em um data frame é parecida com o acesso á colunas.
A primeira forma de criar uma nova coluna é data_frame$nome_nova_coluna
.
Exemplo: Crie uma coluna quantidade, na tabela preços, que receba os valores:
quantidade<-c(50,100,120,150,200)
tabela_preco_produto$quantidade<-c(50,100,120,150,200)
tabela_preco_produto
## Produto Preco quantidade
## 1 Produto A 5 50
## 2 Produto B 15 100
## 3 Produto C 4 120
## 4 Produto D 6 150
## 5 Produto E 8 200
A segunda forma de criar uma nova coluna é data_frame[,“nome_nova_coluna”]
Exemplo: Crie uma coluna, na tabela preços com os custos de cada produto:
custos<-c(2,12,3,5,6)
tabela_preco_produto[,"Custos"]<-c(2,12,3,5,6)
tabela_preco_produto
## Produto Preco quantidade Custos
## 1 Produto A 5 50 2
## 2 Produto B 15 100 12
## 3 Produto C 4 120 3
## 4 Produto D 6 150 5
## 5 Produto E 8 200 6
É aconselhável conhecer seu objeto, data frame, com o qual está trabalhando. Até o momento trabalhamos com uma tabela pequena, a tabela preços, composta por 5 linhas (observações) e 4 colunas (variáveis). No mundo real tabelas como estas são exceção, neste sentido não é possível visualizar e extrair informações analogamente olhando a olho nu o data frame como feito na tabela preços.
O R oferece algumas funções que auxiliam a entender seu data frame. Para isso, vamos usar outra base de dados a iris
.
A primeira função é a str()
que ajuda a conhecer a classe de cada coluna (variável) no data frame.
base_flores<-iris
str(iris)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
A primeira saída dessa função é o numero de observações (linhas) e o número de colunas, depois saem as informações sobre cada coluna que exceto pela última são todas numéricas.
A segunda função é a head()
que retorna as seis primeiras observações de seu data frame:
head(base_flores)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
A terceira função é a summary()
que faz um “resumo” de todos os dados dentro de um data frame:
summary(base_flores)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
Perceba que para as colunas numéricas a função summary calculou as estatísticas descritivas e para as colunas de texto foram contabilizadas as quantidades.
A quarta função é a names() que retorna os nomes das colunas do data frame.
names(base_flores)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
Algumas funções úteis:
Função | Saída |
---|---|
nrow() | Número de linhas (observações) em um data frame |
ncol() | Número de colunas (varáveis) em um data frame |
dim() | Retorna a dimensão do data frame. Número de linhas e úmero de colunas |
unique() | Remoção de duplicatas |
tail() | Retorna as 6 últimas observações em um data frame |
cbind() | Concatena dois data frames pelas colunas |
rbind() | Concatena dois data frames pelas linhas |
Leia o arquivo dados_frame.txt
e baseado em suas informações crie uma tabela, chamada de tabela_pessoas
e responda as questões
Os pacotes no R
são conjuntos de funções que facilitam a nossa vida. Como a comunidade do R vem crescendo, novos pacotes aparecem todos os dias.
Para instalar pacotes, use o comando install.packages()
Vamos instalar nosso primeiro:
A maioria dos projetos de analytics começam com qual pergunta eu desejo responder?
. Para isso, existe uam metodologia que é muito útil para:
Essa é fase mais importante do projeto. É onde são definidos:
Agora já temos maturidade para saber que a base de qualquer projeto em Analytics
, são os dados, e desejamos:
Porém!!!!!
E por mais glamuroso que seja trabalhar:
Sabemos que grande parte do esforço de uma trabalho com data science
:
Então:
Assim, faz sentido se debruçar para conhecer o dado que vc está usando. Nessa etapa, é checado se a base de dados que recebemos possui as colunas e a quantidade de linhas esperadas. A gente também verifica se há observações faltantes (missing data) entre outros pontos.
Depois de carregar a base de dados (data frame), a gente precisa verificar como os dados estão. No mundo real as bases de dados são longas e possuem muitas variáveis. Assim sendo, não é possível visualizar e extrair informações apenas olhando para a tabela.
O Primeiro passo é a extração de pequenas asmostras. Para isso, basta usar a função a head()
que retorna as seis primeiras observações do seu data frame:
## Warning: package 'DBI' was built under R version 4.0.4
con <- dbConnect(odbc::odbc(), .connection_string =c_string)
df = dbGetQuery(con," SELECT * FROM [claroTreinamentos].[rtp_audience_meter] where qtd_num_serie_smart_card<1000")
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.0.5 v dplyr 1.0.3
## v tidyr 1.1.2 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
df <- read_csv("assess/data/churn_telecom.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## .default = col_double(),
## estado = col_character(),
## telefone = col_character(),
## plano_internacional = col_character(),
## plano_email = col_character(),
## churn = col_logical()
## )
## i Use `spec()` for the full column specifications.
df %>%
head()
## # A tibble: 6 x 21
## estado cliente_fidelid~ ddd telefone plano_internaci~ plano_email plano_sms
## <chr> <dbl> <dbl> <chr> <chr> <chr> <dbl>
## 1 KS 128 415 382-4657 no yes 25
## 2 OH 107 415 371-7191 no yes 26
## 3 NJ 137 415 358-1921 no no 0
## 4 OH 84 408 375-9999 yes no 0
## 5 OK 75 415 330-6626 yes no 0
## 6 AL 118 510 391-8027 yes no 0
## # ... with 14 more variables: min_lig_diurno <dbl>, qtdd_lig_diurna <dbl>,
## # cobranca_diurna <dbl>, min_lig_noturna <dbl>, qtdd_lig_noturna <dbl>,
## # cobranca_noturna <dbl>, min_lig_madrugada <dbl>, qtt_lig_madrugada <dbl>,
## # cobranca_madrugada <dbl>, min_lig_internacional <dbl>,
## # qtdd_lig_internacional <dbl>, cobranca_lig_internacional <dbl>,
## # nivel_tarifa <dbl>, churn <lgl>
Já a função tail()
retorna as seis últimas observações do seu data frame:
df %>%
tail()
## # A tibble: 6 x 21
## estado cliente_fidelid~ ddd telefone plano_internaci~ plano_email plano_sms
## <chr> <dbl> <dbl> <chr> <chr> <chr> <dbl>
## 1 SC 79 415 348-3830 no no 0
## 2 AZ 192 415 414-4276 no yes 36
## 3 WV 68 415 370-3271 no no 0
## 4 RI 28 510 328-8230 no no 0
## 5 CT 184 510 364-6381 yes no 0
## 6 TN 74 415 400-4344 no yes 25
## # ... with 14 more variables: min_lig_diurno <dbl>, qtdd_lig_diurna <dbl>,
## # cobranca_diurna <dbl>, min_lig_noturna <dbl>, qtdd_lig_noturna <dbl>,
## # cobranca_noturna <dbl>, min_lig_madrugada <dbl>, qtt_lig_madrugada <dbl>,
## # cobranca_madrugada <dbl>, min_lig_internacional <dbl>,
## # qtdd_lig_internacional <dbl>, cobranca_lig_internacional <dbl>,
## # nivel_tarifa <dbl>, churn <lgl>
Por padrão, para executar um bom sanity check basta seguir o checklist:
Faça um sanity preliminar na base do [claroTreinamentos].[rtp_audience_meter]
.
Para um sanity check mais completo e visualmente mais bonito, o R
possui um pacote, que com poucas linhas de comando, a gente consegue produzir relatórios estatístico muito interessante. Esse pacote se chama DataExplorer
e vamos carregá-lo agora:
library(DataExplorer)
Um dos primeiros passos que a gente faz ao receber uma base de dados é conferir quantas colunas e linhas a base possui. A gente consegue essas informações e outras com o próximo comando do pacote DataExplorer
:
introduce(df)
## # A tibble: 1 x 9
## rows columns discrete_columns continuous_colu~ all_missing_col~
## <int> <int> <int> <int> <int>
## 1 3333 21 5 16 0
## # ... with 4 more variables: total_missing_values <int>, complete_rows <int>,
## # total_observations <int>, memory_usage <dbl>
Caso você queria gerar um gráfico com as informações da tabela produzida pelo comando anterior (introduce
), basta usar o seguinte comando:
plot_intro(df)
O próximo comando (plot_missing
) lista a quantidade de observações que estão faltando em cada coluna:
plot_missing(df)
Outro comando bastante útil é o plot_bar
. Ele serve para analisarmos como as variáveis categóricas se comportam. Bastante rodar o seguinte comando, que o R
produz os gráficos automaticamente:
plot_bar(df)
## 2 columns ignored with more than 50 categories.
## estado: 51 categories
## telefone: 3333 categories
Já para analisarmos as variáveis numéricas, nós utilizamos o comando plot_histogram
na base de dados:
plot_histogram(df)
Para fazermos a matriz de correlação basta usar a função plot_correlation
.:
plot_correlation(df,type = "all")
## 2 features with more than 20 categories ignored!
## estado: 51 categories
## telefone: 3333 categories
O próximo comando é um dos mais relevantes, pois com apenas uma linha de comando a gente consegue criar um relatório com os principais análises descritivas e estatísticas da base de dados:
create_report(df)
[claroTreinamentos].[rtp_audience_meter]
.