Você está na página 1de 25

Programação para Data Science

Jony Arrais Pinto Junior

R para Data Science


R para Data Science

• Até o momento demos um overview no ambiente R.

• Neste tópico iremos introduzir a visão do uso do R para Data Science.

• A ideia inicial é apresentar os principais pacotes para Data Science no


R.

• A comunidade é bastante a va e apixonada, então existe muito mais


do que será mostrado aqui!!!

R para Data Science

• Import - capturar dados não importando seu formato.


• Tidy - organizar/arrumar os dados.
• Entendimento dos dados - analise exploratória dos dados (medidas
resumo e visualização). Transformação dos dados para uma melhor
compreensão do problema. Levantamento de hipóteses.
• Comunicação - apresentações, relatórios e dashboards para comuni-
car seus resultados.
Tidyverse

Tidyverse

• dyverse é uma coleção de pacotes voltados para Data Science.

• Todos os pacotes foram construidos com a mesma filosofia e gramá-


ca.

• Pertencem ao dyverse: ggplot2, bble, dyr, readr, dplyr, etc...

• Estes pacotes serão o foco dos nossos próximos encontros.


Importando dados para o R

readr

• É um pacote que propicia de modo rápido e amigável a importação


de dados retangulares.

• Suas principais funções são:


• read_table2,
• read_table,
• read_csv,
• read_csv2,
• read_tsv,
• read_delim.

• Para fazer importações de arquivos, é preciso aprender a trabalhar


com os diretórios no R.
Trabalhando com diretórios

• Para saber em qual diretório (pasta) o seu script em R está apontando


basta fazer uso da função getwd().

• Outra forma fácil de descobrir é verificar o diretório que aparece no


cabeçalho da janela do Console.

• Para alter um diretório de trabalho basta usar a função setwd().

• O diretório usado como argumento na função setwd deve estar sem-


pre entre “”.

• Atenção!! Em ambiente windows \ não é reconhecido e deverá ser


trocado por \\ ou /.

readr

• read_table2(…) - importa arquivos em que as colunas são separadas


por espaços em branco. É equivalente a read.table, permite qualquer
número de espaços entre colunas.

• read_table - é similar a read.table2, porém é mais rigorosa, cada li-


nha deve ter o mesmo cumprimento e cada campo está na mesma
posição em todas as linhas.

• read_csv - importa aquivos delimitados por vírgula.

• read_csv2 - importa arquivos separados por semicolunas (comum em


países que usam a “,” como separador decimal).

• read_tsv - importa arquivos separados por tabs.

• read_delim - importa arquivos com larguras fixas.


read_table2(…)

• Vamos incicialmente importar o arquivo Base saude.txt.

• A extensão e as caracterís cas do arquivo vão definir qual a função


eu devo u lizar para importar o arquivo para o R.

• Abram o arquivo Base saude.txt.

• Quais as carcaterís cas do arquivo? Qual a extensão? Separações de


coluna? Decimais?

• Vamos u lizar a função read_table2(…) para realizar a importação.

Principais argumentos da read_table2(…)

• file - o nome do arquivo COM A EXTENSÃO ESPECIFICADA.

• col_names - se o arquivo possui o nome das variáveis (default = TRUE


- possui os nomes das variáveis).

• na - definição dos dados faltantes/que não devem ser preenchidos.


Passar entre aspas.

• locale - controla os padrões que variam de lugar para lugar.


read_delim(…)

• Função mais genérica do readr, diversas outras funções são casos es-
peciais desta.

• Permite você controlar o delimitar (separador) das variáveis de forma


simples.

• Vamos u lizá-la numa base com extensão .txt

read_csv(…) e read_csv2(…)

• Também são funções do readr e casos especiais da função read_de-


lim(…).

• Funções úteis para a leitura de arquivos .csv

• Os argumentos são bem semelhantes aos da função read_table2(…).

• Cuidado com os decimais e separadores.


read_excel(…)

• É uma função do pacote readxl.

• Importa arquivo .xls e .xlsx

• São mais custosas computacionalmente do que as outras (grandes


bases).

Importando dados em outros formatos

• Pacote haven (arquivos SAS, SPSS e STATA):


• read_sas,
• read_sav,
• read_dta.

• Pacote xml2 (arquivos em HTML ou XML):


• read_xml,
• read_html.
Exportanto arquivos do R

Exportando arquivos

• A família de funções write servem para exportar arquivos do R ;

• write_delim serve para exportar arquivos em .txt

• write_csv2 serve para exportar arquivos em .csv

• write_sas serve para exportar arquivos .sas

• write_dta serve para exportar arquivos em .dta


Estrutura RDS

• Outra alterna va é trabalhar com arquivos com a extensão .rds.

• A extensão .rds cria uma versão serializada do conjunto de dados e,


em seguida, salva-o com a compressão gzip.

• Ganho: diminui o tamanho do arquivo e o tempo de importação do


mesmo.

• Criando arquivos saveRDS e importando arquivos reaRDS.

Grandes volumes de dados

• Os pacotes anteriores são usualmente u lizados para trabalhar com


bases com até 2Gb.

• Para bases maiores (10Gb a 100Gb) recomenda-se trabalhar com o


pacote data.table.

• A função fread é mais adequada para grandes volumes de dados, mas


cria objetos do po data.table.

• A sintaxe de data.table é bastante semelhante ao SQL (DT[i,j,by]).


Manipulação avançada de
dados

Operador |> (pipe)


|>

• O operador |> (pipe) foi uma das grandes revoluções recentes do R.

• O operador torna a leitura de códigos mais lógica, fácil e compreen-


sível.

• A ideia do operador é muito simples: usar o valor resultante da ex-


pressão do lado esquerdo como primeiro argumento da função do
lado direito.

• As duas linhas abaixo são equivalentes:

|>

• Nos casos mais simples, o pipe parece não ter grandes vantagens.
Veja uma operação simples sem o pipe:

• Veja como fica com o pipe:

• Não vejo grandes vantagens!!! Fica que vai ter bolo...


|>

• Bolo sem o pipe:

• Bolo com o pipe:

O pacote dplyr
Dplyr

• O pacote dplyr é um dos pacotes mais poderosos e populares do R.

• O dplyr é um poderoso pacote R para manipular, limpar e resumir


dados não estruturados.

• O dplyr faz a exploração de dados e manipulação de dados de forma


fácil e rápida no R.

Base internet

• A base internet possui as seguintes variáveis:


• Código de iden ficação do cliente,
• Produto contratado pelo cliente,
• Bairro do cliente,
• Se o cliente posssui ou não o pacote kids,
• Se o cliente está inadimplente ou não,
• Qual a escolaridade do cliente,
• Qual o número de residentes na residência,
• Qual o número de visitas recebidas nos úl mos 12 meses,
• Qual a nota ao serviço da operadora dada pelo cliente,
• Quanto tempo a pessoa é cliente (em meses).
Função dis nct

• Função que mantém na base somente as linhas dis ntas da base de


dados.

• Ú l para verificar se existem linhas repe das na base.

• Ú l também para selecionar cruzamentos dis ntos de uma/ou mais


de uma variável.

Função select

• Função que seleciona colunas (variáveis) da base de dados.

• Podemos selecionar desde uma única variável até um conjunto de


variáveis.

• A seleção pode ser feita baseada em critérios, incluindo critério como


selecione colunas que iniciam com a letra a, por exemplo.
Função rename

• Função que renomeia variaveis da base de dados.

• Podemos renomear somente uma variável ou um conjunto de variá-


veis de interesse.

Função filter

• Função que seleciona um conjunto de linhas que sa sfazem uma con-


dição.

• A condição pode ser única ou múl pla.


Função arrange

• Função que ordena seus bbles.

• A ordenação pode ser realizada com base em uma única variável ou


num conjunto delas.

Função mutate e transmute

• Funções que criam novas variáveis.

• A função mutate adiciona novas variáveis num bble existente e a


transmute cria um novo bble com as variáveis criadas.

• A função cut do pacote base pode ser um bom auxiliar na criação de


variáveis qualita vas.
Função group_by e summarise

• São funções que servem para criar medidas resumos para agrupa-
mentos das categorias de variáveis.

• Muito u lizada na análise exploratória de dados.

Combinando bases de dados


com o pacote dplyr
funções para combinar bases de dados

• inner_join: Combina as duas bases incluindo todas as variáveis de


ambas as bases e todas as linhas comuns as duas bases.

• le _join: Combina as duas bases incluindo todas as variáveis de am-


bas as bases e todas as linhas da base a esquerda.

• right_join: Combina as duas bases incluindo todas as variáveis de


ambas as bases e todas as linhas da base a direita.

• full_join: Combina as duas bases incluindo todas as variáveis de am-


bas as bases e todas as linhas de ambas as bases.

• semi_join: Combina as duas bases incluindo as variáveis da basea a


esquerda e todas as linhas comuns as duas bases.

• an _join: Combina as duas bases incluindo as variáveis da base a


esquerda e todas as linhas que não são comuns as duas bases.

A vidade
Combinando dados
ver calmente com o pacote
dplyr

Combinando dados ver calmente

• intersect: retorna as linhas comuns as duas bases.

• setdiff: retorna as linhas dis ntas entre as duas bases.

• union: empilha as duas bases e remove as linhas duplicadas.

• union_all: empilha as duas bases e não remove as linhas duplicadas.


O pacote dyr

O pacote dyr

• gather: empilha colunas (variaveis) em uma única coluna criando


uma chave que será especificada pelo nome da variável.

• spread: faz a operação inversa ao gather.

• separate: separa o valor de uma coluna para várias colunas.

• union: faz a operação inversa ao separate.


O pacote ggplot2

Vantagens do ggplot2

• Gramá ca de gráficos consistente.

• Especificação de plotagem em um alto nível de abstração.

• Muito flexível.

• Sistema de tema para polir a aparência do gráfico.

• Sistema gráfico completo e maduro.

• Muitos usuários, lista de discussão a va


Limitações do ggplot2

• Gráficos tridimensionais (veja o pacote RGL).

• Gráficos de pos de teoria de grafos (veja o pacote igraph).

• Gráficos intera vos (veja o pacote ggvis).

Gramá ca dos gráficos

• Idéia básica: especificar separadamente blocos de construção de plo-


tagem e combiná-los.

• Os blocos de construção de um gráfico incluem:


• dados,
• mapeamento esté co,
• objeto geométrico,
• transformações esta s cas,
• escalas,
• sistema de coordenadas,
• ajustes de posição,
• facetas.
Gramá ca dos gráficos

• A estrutura básica de um gráfico é dada por:


ggplot(meu_data_frame, aes(x, y)) + geom()

• Primeiro criamos um plot com a função ggplot.

• O primeiro argumento é data (seu bble).

• Depois vem o mapping, normalmente usando aes (de aesthe cs).

• No aes especificamos as variáveis dos eixos x e y, além de outras op-


ções como cores e símbolos usados para plotar os dados.

• Depois especificamos um geom (geom_point - pontos, geom_box-


plot - boxplot) (h ps://ggplot2. dyverse.org/reference/index.html)

ggplot2 vs gráficos básicos

• É mais complicado para gráficos simples.

• É bem menos complicado para gráficos complexos.

• Os dados devem estar sempre em um formato data.frame.

• Usa um sistema diferente para adicionar elementos ao gráfico.


O pacote ggplot2

• É possível criar gráficos de dispersão, gráficos de barras, boxplots, etc.

• A estrutura é semelhante, basta modificarmos os geom.

• É possível modificar temas de forma simples e usar recursos como o


facet.

Você também pode gostar