Você está na página 1de 36

Aula 3

Álvaro João Pereira Filho

Curso de R
04/09/2018

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 1 / 36


Revisão

Aula passada...

Através do pacote ”PNADcIBGE”, ativamos a função get pnadc()


para a importação dos dados do PNAD trimestral
Para isso, temos que definir alguns parâmetros através dos
argumentos:
’year =’ se refere ao ano de extração do PNAD
’quarter =’ se refere ao trimestre de extração do PNAD
’design =’ é um arg lógico para retornar o objeto com a configuração
do pacote ’survey’, porém, aqui colocaremos FALSE nesse arg para
utilizarmos maior número de funções já existente no próprio R
Para importar com sucesso, porém, é preciso bom acesso à internet e
paciência!

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 2 / 36


Revisão

Aula passada...

Aprendemos também a selecionar elementos de vector ou data.frame


Primeiro, definimos uma regra para selecionar de colunas ou vectores:
• Vetor
•[]
• Posição ou regra
> central . park . cloud [ central . park . cloud == " cloudy " ]

[1] cloudy cloudy cloudy cloudy cloudy cloudy cloudy


Levels : clear partly . cloudy cloudy

> sum ( central . park . cloud == " cloudy " )


[1] 9

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 3 / 36


Revisão

Aula passada...

Para o caso de data frames, que possuem duas dimensões,


selecionamos também utilizando [ ]
• Data frame
• [,]
• Posição ou regra
Ele separa a posição da linha e da coluna
• 1o Linha
• 2o Coluna

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 4 / 36


Revisão

Aula passada...

Recodificação de variável exige a seleção de uma regra ou posição


Em seguida atribuı́mos valores
> library ( UsingR )

> data ( " babyboom " )

> babyboom $ gender <- as . numeric ( babyboom $ gender )


> babyboom $ gender [ babyboom $ gender == 1] <- 0
> babyboom $ gender [ babyboom $ gender == 2] <- 1

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 5 / 36


Recodificando com eficiência

Função ’ifelse’

A função ’ifelse’ te dá uma possibilidade de transformar uma variável


em dicotômica de maneira mais eficiênte
A função possue os seguinte argumentos:
• Uma relação lógica, ou seja, que gera TRUE ou FALSE;
• Um valor para quando a relação lógica for TRUE;
• Um valor para quando a relação for FALSE.
> babyboom $ gender <-
ifelse ( babyboom $ gender == " girl " ,0 ,1)

> table ( babyboom $ gender )


0 1
18 26

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 6 / 36


Recodificando com eficiência

Variáveis continuas

Para as variáveis continuas, podemos fazer da forma traditional:


babyboom $ running . time [ babyboom $ running . time
< 200] <- 1
babyboom $ running . time [ babyboom $ running . time
>= 200 &
babyboom $ running . time < 600] <- 2
babyboom $ running . time [ babyboom $ running . time
>= 600] <- 3

Ou utilizando a função cut(), já presente no seu R


> babyboom $ running . time <-
cut ( babyboom $ running . time ,
breaks = c ( - Inf ,200 ,600 , Inf ) ,
labels = c (1 ,2 ,3))

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 7 / 36


Gráficos

Gráficos

Os Gráficos em R podem ser os melhores e são os objetos mais


complexos produzidos no software
Existem duas possibilidade de produção de gráficos no R
• Utilizando os comandos básicos ou a função qplot()
• Utilizando um pacote ggplot2 e sua função ggplot()
Aqui! Utilizaremos o pacote ggplot2

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 8 / 36


Gráficos

Estrutura

Na aula de gráficos de hoje, vamos apresentar os principais tipos de


gráficos que temos aqui no R
Sim!Temos vários, mas esses são os tipos mais encontrados em
revistas e artigos
Vamos começar com a estrutura básica das funções de construção de
gráfico
install . packages ( " ggplot 2 " )

library ( ggplot 2 )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 9 / 36


Gráficos

Estrutura

Primeira parte na função do ggplot() é a definição do arg da base de


dados ou vetor e dos eixos x e y que irão compor o gráfico
Vamos definir a fonte e as variáveis que serão representadas no nosso
gráfico
ggplot ( dados , aes ( x = x , y = y ))

A função aes() é a responsável por definir os eixos do gráfico,


primeiro o eixo x e depois o y

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 10 / 36


Gráficos

Estrutura

Primeira parte na função do ggplot() é a definição do data e dos eixos


x e y do gráfico
Vamos definir a fonte e as variáveis que serão representadas no gráfico
data ( " babyboom " )

ggplot ( babyboom , aes ())

A função aes() é a responsável por definir os eixos do gráfico,


primeiro o eixo x e depois o y

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 11 / 36


Gráficos

Estrutura

Primeira parte na função do ggplot() é a definição do data e dos eixos


x e y do gráfico
Vamos definir a fonte e as variáveis que serão representadas no gráfico
A função aes() é a responsável por definir os eixos do gráfico,
data ( " babyboom " )

ggplot ( babyboom , aes ( x = running . time ))

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 12 / 36


Gráficos

Estrutura

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 13 / 36


Gráficos

Estrutura

Vamos definir os nomes dos eixos através das funções xlab() e ylab();
A escrita do pacote segue a ordem de função aglutinadas pelo
operador ’+’
ggplot ( babyboom , aes ( x = running . time )) +
xlab ( " Minutos de nascimento apos a meia - noite " ) +
ylab ( " Frequencia " )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 14 / 36


Gráficos

Estrutura

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 15 / 36


Gráficos

Estrutura

Ainda definimos o tı́tulo do gráfico, além do subtı́tulo, através da


função ggtitle()
Para escrever o subtı́tulo, ou legenda do tı́tulo, basta ajustar o
argumento subtitle =
ggplot ( babyboom , aes ( x = running . time )) +
xlab ( " Minutos de nascimento apos a meia - noite " ) +
ylab ( " Frequencia " ) +
ggtitle ( " Nascimento de bebes apos a meia noite " ,
subtitle = " Em Brisbane , Australia " )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 16 / 36


Gráficos

Estrutura

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 17 / 36


Tipos

Tipos de gráficos

Alguns tipos de gráficos são os mais comuns e básicos dentro da


produção cientı́fica
O ggplot2 possui uma lista gigantesca de tipos de gráficos
Aqui vamos apresentar os principais
Começando pelo histograma, que apresenta a distribuição de uma
variável contı́nua

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 18 / 36


Tipos

Histograma

Para esse tipo de gráfico selecionaremos a já trabalhada variável


running.time
Primeiro, construı́mos a estrutura básica
ggplot ( babyboom , aes ( x = running . time ))

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 19 / 36


Tipos

Histograma

Em seguida, adicionamos o tipo de gráfico com a função


geom histogram()
O argumento binwidth ajusta o tamanho do silos, que já vem com o
tamanho 30
ggplot ( babyboom , aes ( x = running . time )) +
geom _ histogram () +
xlab ( " Minutos de nascimento apos a meia - noite " ) +
ylab ( " F r e q u n c i a " ) +
ggtitle ( " Nascimento de bebes apos a meia - noite " ,
subtitle = " Em Brisbane , Australia " )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 20 / 36


Tipos

Histograma

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 21 / 36


Tipos

Barras

Para o gráfico de barras, com o x categórica e o y contı́nua, vamos


alterar a função geom histograma() por geom bar ()
No geom bar () é preciso estar atento à demanda pelo argumento stat
= ’identity’. Quando são duas variáveis, é necessário a inclusão desse
argumento, porém, no caso de representar frequência, não
data ( babyboom )

ggplot ( babyboom , aes ( x = gender )) + geom _ bar () +


xlab ( " Genero " ) +
ylab ( " Frequencia " ) +
ggtitle ( " Quantidade de criancas por genero " )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 22 / 36


Tipos

Barras

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 23 / 36


Tipos

Barras

No caso de duas variáveis, novamente, temos que inserir na função


geom bar (), o arg stat = ”identity
data ( " central . park " )

ggplot ( central . park , aes ( x = DY , y = MAX )) +


geom _ bar ( stat = " identity " )

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 24 / 36


Tipos

Barras

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 25 / 36


Tipos

Barras

Vamos redefinir a escala de x e y


No caso do y, vamos limitar os valores a partir de 55 até 80
Existem algumas funções que desempenham esse papel de recortar a
escala, usaremos o coord cartesian() definindo o ylim = c(min,max)
ggplot ( central . park , aes ( x = DY , y = MAX )) +
geom _ bar ( stat = " identity " ) +
coord _ cartesian ( ylim = c (55 ,80))

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 26 / 36


Tipos

Barras

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 27 / 36


Tipos

Barras

Para inserirmos todos os valores nos ’sticks’, usaremos a função


scale x continuous()
O argumento que usaremos é de ’breaks =’, portanto
data ( " central . park " )

ggplot ( central . park , aes ( x = DY , y = MAX )) +


geom _ bar ( stat = " identity " ) +
coord _ cartesian ( ylim = c (55 ,80)) +
scale _ x _ continuous ( breaks = c (1:31))

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 28 / 36


Tipos

Barras

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 29 / 36


Gráfico de pontos

Gráficos de pontos

Para representar a correlação entre duas variáveis, usamos o gráficos


de pontos
A exemplo de Verzani (2005), vamos reproduzir o gráfico da página
83, porém utilizando ggplot
data ( " kid . weights " )

> cor ( kid . weights $ height , kid . weights $ weight )


[1] 0.8237564

ggplot ( kid . weights , aes ( x = height , y = weight )) +


geom _ point ()

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 30 / 36


Gráfico de pontos

Gráficos de pontos

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 31 / 36


Gráfico de pontos

Gráficos de pontos

Vamos dividir essas observações por gênero:


Podemos, nesse caso, plotar a legenda dentro do gráfico com a
função geom text, em seguida ajustando a posição dessa legenda
ggplot ( kid . weights , aes ( x = height , y = weight )) +
geom _ point () +
geom _ text ( aes ( label = gender ) , size = 3 , vjust = -1)

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 32 / 36


Gráfico de pontos

Gráficos de pontos

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 33 / 36


Gráfico de pontos

Gráficos de pontos

Ou então, podemos dividir os pontos em cores diferentes, um para


cada categoria
Utilizaremos dentro do arg ’aes()’ um sub-argumento ’colour =’
ggplot ( kid . weights , aes ( x = height , y = weight ,
colour = gender )) +
geom _ point ()

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 34 / 36


Gráfico de pontos

Gráficos de pontos

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 35 / 36


Gráfico de pontos

Aula 3

Álvaro João Pereira Filho

Curso de R
04/09/2018

Álvaro João Pereira Filho Aula 3 Curso de R04/09/2018 36 / 36

Você também pode gostar