Buscar

APOSTILA - INTRODUÇÃO A PROGRAMAÇÃO EM BIG DATA - UNIDADE 3 (ANHEMBI MORUMBI UAM) CURTA SE LHE AJUDOU! ;D

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO À PROGRAMAÇÃO EMINTRODUÇÃO À PROGRAMAÇÃO EM
BIG DATABIG DATA
VISUALIZAÇÃO DE GRÁFICOSVISUALIZAÇÃO DE GRÁFICOS
EM REM R
Autor: Me. Ricardo Alexandre G. C. Martins
Revisor : Fe l ipe Oviedo Fros i
IN IC IAR
introdução
Introdução
A visualização de dados é uma ferramenta vital para descobrir possíveis
insights cruciais dos dados. Se os resultados de uma análise não forem
visualizados adequadamente, não serão comunicados efetivamente ao
público desejado.
Os cientistas de dados, geralmente, ignoram algumas das habilidades mais
rotineiras, mas importantes da pro�ssão. A compreensão dos dados por meio
da visualização é importante, porque os dados não falam por si mesmos. Uma
das melhores maneiras de fazer isso é pela visualização.
Nesta unidade, aprenderemos como exibir dados usando a linguagem
estatística R. Começaremos com grá�cos básicos e passaremos para os mais
avançados, no decorrer da unidade.
Uma das principais características necessárias para um cientista de dados é
saber transmitir a informação desejada. Essa característica passa pela
capacidade de criar grá�cos que sejam capazes de representar, de maneira
simples, a  informação desejada, para que o público consiga assimilá-la.
Para cada tipo de informação a ser transmitida, existe um grá�co adequado
para representá-la. Desse modo, o R possui um conjunto básico de grá�cos
que suportam as informações mais comumente utilizadas.
Para a criação dos exemplos a seguir, foi utilizado o dataset seatbelts ,
disponível no R, que possui dados sobre acidentes rodoviários na Grã-
Bretanha entre 1969 e 1984.
Histograma
A aparência de histogramas e grá�cos de barras é semelhante, diferenciando
apenas a informação que é apresentada (SHARDA; DELEN; TURBAN, 2019).
Grá�cos BásicosGrá�cos Básicos
Um histograma é um grá�co muito comum. Ele plota as frequências em que
os dados aparecem dentro de determinados intervalos. Você pode criar
histogramas com a função hist(x) , em que x é um vetor numérico de valores
a serem plotados. A opção freq plota densidades de probabilidade ao invés
de frequências. A opção breaks controla o número de posições, conforme
exemplo:
# Carrega o dataset de mortes por acidentes
dados <- Seatbelts
# Como o dataset é uma matriz, carrega todas as linhas da primeira coluna
mortes <- dados[,1]
# Exibe o histograma mortes por mês
hist(mortes, breaks = 5, freq = TRUE, xlab = "Total de Mortes", ylab =
"Frequência", main = "Histograma de mortes")
No exemplo anterior, é possível identi�car que a maior frequência de mortes
mensais está entre 100 e 120.
Boxplot
Figura 3.1 - Histograma 
Fonte: Elaborada pelo autor.
Um boxplot é uma maneira padronizada de exibir a distribuição de dados
com base em um resumo de cinco números (“mínimo”, primeiro quartil (Q1),
mediana, terceiro quartil (Q3) e “máximo”), sendo:
mediana (Q2 / 50º percentil): o valor médio do conjunto de dados;
primeiro quartil (Q1 / 25º percentil): o número do meio entre o menor
número (não o “mínimo”) e a mediana do conjunto de dados;
terceiro quartil (Q3 / 75º percentil): o valor médio entre a mediana e o
valor mais alto (não o "máximo") do conjunto de dados;
intervalo interquartil (IQR): percentil 25 ao 75;
máximo: Q3 + 1,5 * IQR;
mínimo: Q1 -1,5 * IQR;
outliers: valores acima ou abaixo do mínimo e máximo.
Também pode indicar se seus dados são simétricos, com que rigidez são
agrupados e como são distorcidos.
Para gerar um grá�co do tipo boxplot, é necessário chamar o comando
boxplot() , passando como parâmetro os dados a serem analisados, conforme
o exemplo a seguir:
# Carrega o dataset de mortes por acidentes
dados <- Seatbelts
# Como o dataset é uma matriz, carrega todas as linhas da primeira coluna
mortes <- dados[,1]
# Exibe o boxplot de mortes por mês
boxplot(mortes)
Na Figura 3.2, é possível identi�car que em 50% dos meses ocorreram até 120
mortes, sendo que dois meses saíram do padrão, com mais de 190 mortes.
Grá�icos de Dispersão (Scatter Plots)
Um grá�co de dispersão fornece a visão grá�ca do relacionamento entre dois
conjuntos de dados. Quanto maior o relacionamento entre os dois conjuntos
de dados, mais linear será a distribuição dos pontos no grá�co e mostrará
uma tendência (apontando para a diagonal superior direita ou diagonal
inferior direita), conforme o relacionamento entre os conjuntos de dados.
A geração do grá�co de dispersão é feita através do comando plot() , porém,
diferentemente dos grá�cos anteriores, é necessário informar os dois
conjuntos de dados a serem analisados.
# Carrega o dataset de mortes por acidentes
dados <- Seatbelts
# Como o dataset é uma matriz, carrega todas as linhas da primeira coluna
mortes <- dados[,1]
# Carrega todas as linhas da sexta coluna
Figura 3.2 - Boxplot 
Fonte: Elaborada pelo autor.
preco <- dados[,6]
# Exibe o scatter plot, combinando mortes e preço do petróleo
plot(mortes, preco)
No exemplo da �gura anterior, é possível veri�car, visualmente, que existe
uma leve tendência de distribuição dos pontos caindo para a direita. Isso
representa que existe uma relação inversa fraca entre o preço do combustível
e o número de mortes (quanto maior o preço do combustível, menos mortes
ocorrem).
Grá�icos de Linha
De uma maneira resumida, um grá�co de linha é um grá�co de dispersão,
onde os pontos são ligados entre si. Entretanto, o objetivo do grá�co de linha
é mostrar os dados de forma temporal, ou seja, a variação ao longo do tempo.
A diferença entre os comandos é a inclusão do atributo type na chamada da
função plot().
# Carrega o dataset de mortes por acidentes
dados <- Seatbelts
Figura 3.3 - Grá�co de dispersão 
Fonte: Elaborada pelo autor.
# Como o dataset é uma matriz, carrega todas as linhas da primeira coluna
mortes <- dados[,1]
# Exibe o grá�co de linhas de mortes por ano
plot(mortes, type="l")
Como visto, a geração de grá�cos no R é um processo bastante simples e que
permite a visualização de informações de maneira rápida e e�ciente.
Entretanto, esse recurso possui limitações no que diz respeito às
características visuais.
praticar
Vamos Praticar
Figura 3.4 - Grá�co de linha 
Fonte: Elaborada pelo autor.
Uma das principais características de um cientista de dados é a habilidade de
transmitir a informação em forma de grá�cos. Existem diversos tipos para transmitir
as mais diversas informações. O cientista de dados deve optar pelo grá�co que
transmita mais facilmente a informação para o público. Sendo assim, o grá�co que
melhor mostra o relacionamento entre dois conjuntos de dados é o:
a) histograma.
b) boxplot.
c) grá�co de pizza.
d) grá�co de dispersão.
e) grá�co de linha.
A biblioteca ggplot2 é um pacote grá�co que simpli�ca a criação de grá�cos
complexos a partir de um data frame . Ele fornece uma interface mais
programática, para especi�car quais variáveis plotar, como são exibidas e
propriedades visuais gerais. Portanto, são necessárias apenas de alterações
mínimas, se os dados subjacentes forem alterados ou se for decidido mudar
de um grá�co de barras para um de dispersão. Isso ajuda a criar grá�cos de
qualidade de publicação com quantidades mínimas de ajustes.
O ggplot2 funciona como dados no formato "longo", ou seja, uma coluna para
todas as dimensões e uma linha para cada observação. Dados bem
estruturados economizam muito tempo ao criar números com o ggplot2
Os grá�cos ggplot são construídos passo a passo, adicionando novos
elementos. A adição de camadas dessa maneira permite ampla �exibilidade e
personalização de plotagens.
Para construir um ggplot, utilizaremos o seguinte modelo básico, que pode
ser usado para diferentes tipos de plotagem:
Ggplot2Ggplot2
ggplot(data = <DADOS>, mapping = aes(<MAPEAMENTOS>)) +
 <GEOMETRIA>()
Estética
Construir grá�cos com o ggplot2 é tipicamente um processo iterativo.
Começamos de�nindo o conjunto de dados que usaremos, mapeamos a
estética dos eixos e escolhemos uma geometria para os pontos:
ggplot(data = iris,mapping = aes(x = iris$Petal.Width, y =
iris$Petal.Length)) +
geom_point() 
O parâmetro aes de�ne os mapeamentos estéticos das variáveis nos dados
para propriedades as visuais (estética) dos geoms. Os mapeamentos estéticos
podem ser con�gurados diretamente no grá�co e/ou em camadas individuais.
É possível modi�car o grá�co para extrair mais informações dele. Por
exemplo, podemos adicionar transparência ( alpha ) para evitar a
sobreposição e cores para diferenciar cada categoria de dado:
ggplot(data = iris, mapping = aes(x = iris$Petal.Width, y = iris$Petal.Length)) +
Figura 3.5 - Exemplo de grá�co usando ggplot 
Fonte: Elaborada pelo autor.
geom_point(alpha=0.4, aes(color=iris$Species))
Figura 3.6 - Exemplo de grá�co com cores e estética usando ggplot 
Fonte: Elaborada pelo autor.
A relação das principais características visuais que podem ser alteradas pela
estética é (OLIVEIRA, 2018):
posição (x e y);
cor ( color );
tamanho ( size );
preenchimento ( �ll );
transparência ( alpha );
texto ( label ).
Geometria
A geometria dos grá�cos refere-se ao formato no qual o grá�co será exibido.
Essa geometria começam com a palavra reservada geom_ , acompanhada
pelo tipo de objeto. Conforme Wickman (2019), o geom é o objeto geométrico
que um grá�co usa para representar dados. Nos exemplos anteriores, foi
utilizado o geom_point() , para que o grá�co fosse plotado com pontos.
Nesse mesmo grá�co, caso tivesse sido utilizado o geom_boxplot() , teria
como resultado um grá�co do tipo boxplot. Um exemplo de alguns tipos de
grá�cos pode ser visto no Quadro 3.1:
Tipo Objeto Geométrico
Dispersão ( scatter plot ) geom_point()
Grá�co de bolhas geom_point()
Grá�co de barras geom_bar() e geom_col()
Histograma geom_histogram()
Boxplot geom_boxplot()
Densidade geom_density()
Grá�co de linhas geom_line()
Quadro 3.1 - Tipos de grá�cos 
Fonte: Oliveira (2018, p. 77).
Dada a variedade de geometrias disponíveis no ggplot, cabe ao analista a
criatividade de utilizar o melhor formato para representar a informação
desejada.
Camadas
O ggplot permite que a geração de grá�cos utilize o conceito de camadas.
Cada camada, em teoria, representaria um grá�co. Ao sobrepor várias
camadas em um grá�co, a visualização torna-se mais rica, apresentando
novas informações.
Para que uma nova camada seja adicionada ao grá�co, é necessário adicionar
uma nova geometria ao grá�co, conforme o exemplo a seguir:
ggplot(data = iris, mapping = aes(x = iris$Petal.Width, y = iris$Petal.Length)) +
geom_point(alpha=0.4, aes(color=iris$Species))+
geom_smooth()
Por sua vez, esse grá�co teria como resultado:
Figura 3.7 - Grá�co com camadas 
Fonte: Elaborada pelo autor.
Conforme pode ser visto, a aplicação de mais de uma camada no grá�co
enriquece a visualização das informações, permitindo melhor compreensão
dos dados.
praticar
Vamos Praticar
O cientista de dados da empresa �ctícia EAD Corp S/A, após analisar diversas
informações sobre o comportamento de compra de clientes em viagens, criou um
grá�co de dispersão no qual cruzava as informações sobre média de gastos diários
e duração da viagem para três categorias diferentes de viajantes: viagem com
família, viagem a trabalho e viagem individual. Em razão do número elevado de
exemplos, os pontos no grá�co se sobrepuseram, escondendo as informações. Qual
propriedade o analista de dados deve alterar para que o grá�co exiba todas as
informações ?
a) geom_boxplot().
b) data.
c) alpha.
d) mapping.
e) color.
O ggplot2 possui uma técnica especial chamada facetagem (facet), que
permite ao usuário dividir um grá�co em vários grá�cos, com base em um
fator incluído no conjunto de dados.
Existem dois tipos de funções facets:
facet_wrap () -   organiza uma sequência unidimensional de painéis
para permitir que se encaixem corretamente em uma página;
facet_grid () - permite formar uma matriz de linhas e colunas de
painéis.
Ambas as geometrias permitem especi�car variáveis facets especi�cadas em
vars(). Por exemplo, facet_wrap (facets = vars(variável_facet)) ou facet_grid
(rows = vars (variável de linha), cols = vars (variável de coluna)).
Com o comando a seguir, é possível criar um grá�co usando facet wrap
dividido por espécie:
ggplot(data = iris, mapping = aes(x = iris$Petal.Width, y = iris$Petal.Length)) +
FacetsFacets
geom_jitter()+
facet_wrap(facets = vars(Species))
que, por sua vez, geraria o seguinte grá�co: 
Figura 3.8 - Facet wrap 
Fonte: Elaborada pelo autor.
Já o grá�co utilizando facet grid seria obtido através do comando:
ggplot(data = iris, mapping = aes(x = iris$Petal.Width, y = iris$Petal.Length)) +
geom_jitter()+
facet_grid(rows = vars(Species))
que, por sua vez, geraria o seguinte grá�co:
Figura 3.9  Facet grid por linha 
Fonte: Elaborada pelo autor.
O agrupamento de diferentes grá�cos em um só por meio de facets permite
uma rápida compreensão desses grá�cos, principalmente em situações em
que os valores de diferentes categorias se sobrepõem, permitindo uma
melhor compreensão das informações.
praticar
Vamos Praticar
O estagiário da empresa �ctícia EAD Corp S/A tem a necessidade de gerar 3 grá�cos
de dispersão. O cientista de dados lhe sugeriu que fosse criado um único grá�co,
contemplando os 3 grá�cos em um só, usando facets . Ao criar alguns exemplos, viu
reflita
Re�ita
“Tenho dito que a aplicação de métodos de Visualização de
Dados é uma cachaça. Porém, se você não souber qual a sua
curiosidade/pergunta, passará as noites gerando imagens
bonitas, mas que no fundo não levam a nada.
Parece de fora, diante de uma execução de uma rotina ou um
tutorial, algo simples. Mas, é extremamente dependente da
qualidade dos seus dados, das desambiguações criteriosas e
bem feitas, dos �ltros escolhidos, dos algoritmos de layout,
dos pesos atribuídos, etc…
É relativamente fácil dar uma introdução ao assunto para
alguém. O verdadeiro entendimento, a percepção dos
possíveis erros de caminho, e do potencial que ele representa
e oferece, vem com o tempo”.
Fonte: Breve re�exão… (2017, on-line ).
que os grá�cos eram exatamente iguais, mesmo usando facet_wrap e facet_grid . O
que provavelmente aconteceu?
a) A biblioteca ggplot2 não havia sido carregada.
b) Os pontos nos grá�cos estavam sobrepostos.
c) A propriedade color não havia sido de�nida.
d) Foram criados os grá�cos com facet_wrap e facet_grid(rows )
e) Foram criados os grá�cos com facet_wrap e facet_grid(cols).
Um grá�co pode ser gerado com características prede�nidas, com a adoção
de um template , chamado “tema”. O ggplot2 fornece dois temas embutidos:
theme_grey () - o tema padrão, com um plano de fundo cinza;
theme_bw () - um tema com fundo branco.
Para ser mais preciso, o ggplot2 fornece funções que criam um tema. Essas
funções podem ser usadas para adicionar um tema especí�co a um grá�co
por meio da adição do tema ao grá�co:
ggplot () + ... + theme_bw()
O tema produzido por essa função é simplesmente uma estrutura que
contém uma lista de opções. Essas opções descrevem as propriedades visuais
dos eixos, legendas, painéis, faixas e a plotagem geral. É preciso ressaltar que
essas opções de�nem tudo, exceto as camadas contidas na plotagem. Se você
criar uma camada para desenhar pontos vermelhos e linhas azuis, o tema não
alterará essas con�gurações.
TemasTemas
ggplot(data = iris, mapping = aes(x = iris$Petal.Width, y = iris$Petal.Length)) +
geom_jitter()+
theme_bw() +
labs(title="Theme bw", subtitle = "Exemplo")
Conforme pode ser visto no exemplo acima, a utilização do tema theme_bw()
criou um grá�co com fundo branco, onde somente existem as cores preto e
branco.
Figura 3.10 - Exemplo de grá�co usando tema 
Fonte: Elaborada pelo autor.
Utilização de Temas Customizados
É possível alterar a aparência inteira de um grá�co usando um tema
personalizado. Je�rey Arnold implementou a biblioteca ggthemes , contendo
vários temas personalizados.
Para usar esses temas, instale e carregue o pacote ggthemes daseguinte
maneira:
install.packages("ggthemes") # Instalar a biblioteca
library(ggthemes) # Carregar a biblioteca em memória
Um exemplo de utilização de temas customizados é o theme_economist().
Esse tema foi desenvolvido para gerar grá�cos na mesma escala de cores,
utilizada no jornal The Economist.
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour = Species))+
geom_point() +
theme_economist() +
saiba mais
Saiba mais
Para conhecer a fundo todos os grá�cos
disponíveis por padrão no R e na biblioteca
ggplot e as características e possibilidades de
customização deles, acesse a documentação
o�cial, disponível em:
ACESSAR
ACESSAR
https://www.rdocumentation.org/packages/graphics/versions/3.6.1
https://ggplot2.tidyverse.org/reference/
scale_color_economist()+
ggtitle("Iris data sets")
Conforme pode ser visto no exemplo anterior, em nenhum momento foram
de�nidas a cor de fundo, as linhas e características visuais do grá�co, sendo
tudo isso obra da aplicação do tema.
praticar
Vamos Praticar
A empresa �ctícia EAD Corp S/A deseja padronizar a geração de grá�cos gerados
pelo ggplot dentro da empresa. A ideia é que todos os grá�cos tenham a mesma
identidade visual, para que a marca da companhia seja reforçada. Para atingir esse
objetivo, qual seria a solução a ser adotada?
Figura 3.11 - Exemplo de grá�co usando o theme_economist() 
Fonte: Elaborada pelo autor.
a) Criar um tema especí�co, conforme a identidade visual da empresa.
b) Realizar um processamento posterior à criação do grá�co para alterar suas
cores.
c) Utilizar um tema padrão do R para manter as cores uniformes nos grá�cos.
d) Manter um script de apoio a ser executado no momento da criação do
grá�co.
e) Alterar um tema existente no R sempre que necessário.
indicações
Material
Complementar
LIVRO
Visualize this: the �owing data guide to
design, visualization, and statistics
Nathan Yau
Editora: Wiley
ISBN: 978-0470944882
Comentário: Visualize thi s demonstra como explicar
dados visualmente, para que seja possível apresentar
as informações de uma maneira fácil de entender e
atraente.
FILME
The beauty of data visualization
Ano: 1999
Comentário: o jornalista David McCandless apresenta
uma compilação de  conjuntos de dados complexos,
como gastos militares em todo o mundo, novidades da
mídia e atualizações de status do Facebook, em belos e
simples diagramas que provocam padrões e conexões
invisíveis. Segundo ele, um bom design é a melhor
maneira de navegar pelo excesso de informações e
pode mudar a maneira como vemos o mundo.
Para saber mais, acesse:
TRA ILER
conclusão
Conclusão
A visualização de dados é diferente da análise racional pura, pois visa contar
uma história para criar uma resposta emocional. Você pode ter evidências
racionais bem à sua frente, mas se não consegue imaginar algo que nunca
existiu, é impossível estimular ações de longo alcance.
As ferramentas do futuro permitirão mais maneiras de recortar dados. Isso é
importante, porque com um conjunto muito limitado de ferramentas, é fácil
cair na armadilha de avaliar o que pode ser medido, em vez de medir o que é
valioso. Isso permitirá representações mais precisas do mundo à nossa volta,
evitando um futuro falso, baseado em premissas incorretas.
referências
Referências
Bibliográ�cas
BREVE re�exão sobre métodos de Visualização de Dados. Webometria,
cibermetria, altmetria... , jun. 2017. Disponível em:
http://www.webometria.com.br/2017/06/09/breve-re�exao-sobre-metodos-
de-visualizacao-de-dados/ . Acesso em: 23 jan. 2020.
http://www.webometria.com.br/2017/06/09/breve-reflexao-sobre-metodos-de-visualizacao-de-dados/
OLIVEIRA, P. F. Ciência de dados com R : introdução. Brasília: IBPAD, 2018.
SHARDA, R.; DELEN, D.; TURBAN, E. Business Intelligence e análise de dados
para gestão do negócio. Porto Alegre: Bookman, 2019.
WICKMAN, H. R para data science. Rio de Janeiro: Alta Books, 2019.

Continue navegando