Você está na página 1de 102

Sumário

Por que usar o R ......................................................................................................................................................3


Download R ...............................................................................................................................................................5
Começando com o RStudio ..................................................................................................................................9
1) Configurações ............................................................................................................................................................... 9
2) Tela inicial do console ........................................................................................................................................... 11
Se familiarizando com o R ................................................................................................................................ 13
1) Trabalhando com script ........................................................................................................................................ 13
2) R como calculadora ................................................................................................................................................. 17
3) Criando variável ....................................................................................................................................................... 18
4) Valores vazios no R ................................................................................................................................................. 20
5) Comentar no R .......................................................................................................................................................... 22
6) Letra MAÍSCULA e minúscula no R (case sensitive) ................................................................................. 24
7) Gráfico no Rstudio ................................................................................................................................................... 25
8) Como usar qualquer função (Help).................................................................................................................. 27
9) Instalando pacotes .................................................................................................................................................. 33
10) Outro modo de instalar pacotes................................................................................................................... 35
11) Configurando um diretório ............................................................................................................................ 37
Tipos de dados no R ............................................................................................................................................ 40
12) Classes no R........................................................................................................................................................... 40
13) Coerção ................................................................................................................................................................... 42
Estrutura de dados no R .................................................................................................................................... 43
Vetores..................................................................................................................................................................... 45
1) Como criar................................................................................................................................................................... 45
2) Outra maneira de criar vetor .............................................................................................................................. 47
3) Acessar um elemento de um vetor ................................................................................................................... 47
4) Modificar um elemento de um vetor ............................................................................................................... 48
5) Como deletar um vetor............................................................................ Error! Bookmark not defined.
6) Coerção de vetor ...................................................................................................................................................... 49
Fatores ..................................................................................................................................................................... 50
1) Como criar................................................................................................................................................................... 50
2) Acessar um elemento de um fator .................................................................................................................... 54
3) Modificar um elemento de um fator ................................................................................................................ 54
Matriz ....................................................................................................................................................................... 55
1) Como criar................................................................................................................................................................... 55
2) Acessar um elemento de uma matriz .............................................................................................................. 56
3) Modificar um elemento de uma matriz .......................................................................................................... 56
Lista .......................................................................................................................................................................... 57
1) Como criar uma lista .............................................................................................................................................. 57
2) Como acessar os componentes de uma lista................................................................................................ 58
3) Como modificar uma lista? .................................................................................................................................. 60
4) Como deletar componentes em uma lista?................................................................................................... 60
Data Frame ............................................................................................................................................................. 61
1) Como criar um data frame ................................................................................................................................... 61
2) Como acessar os componentes de um Data Frame? ................................................................................ 64
3) Como modificar um Data Frame ? .................................................................................................................... 64
4) Adicionar linhas ou colunas ................................................................................................................................ 64
5) Deletar linhas ou colunas ..................................................................................................................................... 65
6) Coerção de colunas no data frame ................................................................................................................... 65
Importar arquivo no R ....................................................................................................................................... 66
Exploração de dados com o R .......................................................................................................................... 66
O pacote dplyr ...................................................................................................................................................................... 69
Filtrar ....................................................................................................................................................................................... 71
Selecionar colunas ............................................................................................... Error! Bookmark not defined.
Criar novas colunas ........................................................................................................................................................... 73
Ordenar colunas .................................................................................................................................................................. 75
Sumarizar e agrupar.......................................................................................................................................................... 75
Gráficos com o R ................................................................................................................................................... 76
Gráfico de barra ................................................................................................................................................................... 89
Histograma ............................................................................................................................................................................ 93
Gráfico de pizza ................................................................................................................................................................... 93
Box Plot ................................................................................................................................................................................... 93
Gráfico de pontos/linhas ................................................................................................................................................. 79
Sequências e números aleatórios ............................................................................................................................. 101
R MarkDown - teoria .......................................................................................................................................... 96
Criar arquivo R Markdown ............................................................................................................................................ 96
Imprimir em outros formatos ....................................................................................................................................... 99
Cabeçalhos .......................................................................................................................................................................... 100
Texto – Comentar, Negrito e Itálico ......................................................................................................................... 100
Lista ordenada e não ordenada ...................................................................... Error! Bookmark not defined.
Links ........................................................................................................................... Error! Bookmark not defined.
Latex ........................................................................................................................... Error! Bookmark not defined.
Digitar código no R Markdown.................................................................................................................................. 100

R MarkDown – na prática ........................................................................ 101


Por que usar o R

1) O R é um software grátis.
O R é um software grátis para você e para todo mundo. É grátis para instalar, usar,
atualizar, modificar, redistribuir e até mesmo vender. Além disso, ele tem instação para
Linux, Mac e Windows.
Se você pegar algum outro software, verá que os preços são bem salgados.

2) R é Popular

R está crescendo rapidamente na popularidade entre diversos usuários como também


entre os empregadores. Esses gráficos nos mostram percentual de vagas que pedem
R, em azul, e SAS, em laranja. É interessante ver como o R passou o SAS a partir de
2016.

Já nesse gráficos, nos mostra o R, em azul, e o python, em laranja. O Python empatou


com o R em 2013 e dps começou a superá-lo em vagas que pediam. Porém isso nao
irá durar muito. Mesmo que eu ame o python, o R é espetacular na parte de relatórios
e paines. Além de ser uma ferramente estatística surpreendente. Além do mais, há
emprego sempre para os dois tipos de programadores. Os programadores de R tem
em média também salários maiores.
3) R tem as melhores qualidades gerais para negócios.
Esse gráfico deixa claro que excel, power BI e Tableau são fáceis de aprender. Mas
eles têm pouca capacidade para business em geral, ainda mais para quem trabalha
em empresa. São muito limitados para data science e para relatórios. O Python,
Matlab e o SAS são ótimos para data science, mas pouco para relatórios, toda essa
parte de business em geral. Já o R ele é ótimo para data science, para visualização,
ferramente interativa, relatórios e ainda por cima é GRÁTIS.
E, já que muitos usuários usam excel, só uma comparação rápida:
Ou assim:
Até a próxima aula!

Download R

Primeiramente, você acessa o endereço r-project.org.


Depois, clica nesse link escrito download R.

Aqui é uma lista de todos os lugares que você pode fazer o download.

Eu acho o mais simples clicar nesse primeiro link aqui do topo. Porque já redireciona
você se baseando no que for melhor para a sua locazalição.

Depois, é só clicar no seu sistema operacional.


Se você clicar no MAC, te levará a essa página. E a versão que você irá baixar será
essa última. É um arquivo zipado. Apenas clique, faça o download e depois siga o
procedimento padrão de instalação.

Agora, depende do seu computador. Você precisa antes de tudo saber a distribuição
.Se ele for Linux, provavelmente você já está familiarizado do que precisa fazer.
Se for windows, é só clicar em “base” e depois clicar em download R.
Como o meu computador é windows, farei o download.

Agora iremos intalar o Rstudio.

Em poucas palavras, o Rstudio serve para deixar o R mais fácil.

Para fazer o download, apenas precisa digitar no navegador


Rstudio.com

Depois, clicar em download Rstudio. Então você escolherá a versão desktop. E Clique
na versão grátis.
Aparacerá uma lista de instaladores para diversas plataformas.Escolha seu sistema
operacional e clique. Como o meu computador é windows, irei baixar a versão
windows.

Até a próxima aula.

Começando com o RStudio

1) Configurações

A primeira coisa que farei no Rstudio é configurá-lo para facilitar nossa aula.
Vou aumentar o tamanho da letra, clicando em Tools, Global options
Depois, clicar em appearance e colocar a fonte 16 e darei um zoom de 125% para que
fique muito mais fácil de visualizar a aula.

Agora vou em “code” e irei clicar em Soft-wrap R souce files. Com isso, quando
digitarmos nosso código no script, ele irá pular de linha automaticamente.
Até a próxima aula!!

2) Tela inicial do console

Bom, aparecem três telas assim que abrimos o R:

1 2
3
Essa primeira tela é o console. E vem com algumas informações úteis.

Como, por exemplo :


1) A versão que estamos usando
2) A licença
3) Help, caso você tenha dúvida em alguma função no R.
4) E como finalizar o R.

Podemos, por exemplo, digitar quit() para fechar o R aqui no console e você verá que
será fechado.
Pode ser fechado também apertando o X. Mas, no R, você pode fazer tudo pelo
código de programação.
Enfim, essas são apenas algumas informações básicas.Vamos limpar essa tela do
console clicando na vassourinha do próprio console.
Até a próxima aula!!

Se familiarizando com o R

1) Trabalhando com script

Para trabalhar no R, sempre abrimos um script – É onde você digitará seu código.
Para abrir o script, você clica nesse botão (o maiszinho) e clica em R script.
E aqui está o novo script criado:
Ele tem o nome de Untitiled – sem título por padrão.

Vou salvar esse script clicando no botão de salvar. Colacarei na minha área de
trabalho, com o nome de Curso R. E vou apertar SALVAR. Podem reparar que mudou
o nome do script para Curso R.R
Agora temos todas as telas.
No R, você sempre trabalhará com essas quatro telas, e você entendera com milhares
de exemplos o quão úteis elas são. Chamarai de 1, 2, 3 e 4.

1 3
2 4
Vamos digitar aqui no script uma soma para vocês verem um exemplo.
Vou digitar então 2+2
E, para rodar, é só clicar em run!

Apertando run, roda a linha inteira. Mas, se você quiser rodar só uma parte, você
seleiciona.
No script, digitamos o código. No console, será impresso o resultado.

código

resultado

Teoricamente, podemos também digitar o código no console e o resultado será


impresso aqui mesmo.
Mas não vale a pena nem faz sentido fazer isso, porque não seria fácil manipular,
corrigir e salvar o código no console.
Então digitaremos o código sempre aqui no script.
Até a próxima aula!

2) R como calculadora
Outra coisa legal do Rstudio é que podemos mover essas 4 telas do R, arrastando
para cima, baixo, direita ou esquerda. Podemos também minimizar cada uma dessas
janelas.

v v

Por enquanto, só quero ver o script e o console. Então arrastarei toda essa parte para
o lado direito.

Como calculadora, podemos fazer as seguintes operações:


Podemos também usar usar algumas funções matemáticas:

3) Criando variável
Para guardar um valor em um objeto, a gente cria uma variável, vou chamar de x e
atribui valor a ela.
Para atribuir o valor a ela, usamos <-
Então, vou criar um objeto x colocar <- e o valor 2 e dar run.
Vocês podem ver que apareceu no console, mas não apareceu nenhum resultado.

Ele guardou no objeto x o valor 2. E é mostrado aqui na terceira tela.


Se você passar o mouse, você pode ver que é um numérico, que é o padrão do R.

Se eu digitar x aqui no script e rodar, você pode ver que ele imprimiu o valor que
guardamos no objeto x.
Vou criar agora um vetor para colocar vários números.
Vamos digitar c(2,2,3,4,5,5,6) para colocar esses valores em um objeto que chamarei
de y e rodar.

Imprimiu aqui na terceira tela, mostrando que é numérico, tamanho 7 e com os


numeros do vetor.
Então, em resumo, nessa terceira parte podemos ver os objetos criados. Isso é muito
útil e nos facilitar muito para trabalhar com o R.
Até a próxima aula

4) Valores vazios no R

Essa parte é importante falar porque muitos programadores com boa experiência em
R se perdem quando falam de valor vazio.

O R representa valor vazio por NA. Pode ser tanto para número como para caractere.
NA quer dizer Not Available
Então, se tivemos o vetor:
c(1,2,valor vazio, 4)
você escreve:
c(1,2,NA,4)
ou também, mesmo sendo caracatere, você escreve:
c(“a”,”b”,NA,”c”)

Se eu pegar um arquivo de uma planilha que contenha os valores por exemplo de


1,2....:

e exportar para o R,
Esse valor vazio na terceira linha o R chamará de NA.
No R, quase todas as operações com NA resulta em NA.
Por exemplo:
1 + NA
Sqrt(NA)
Se eu criar o vetor:
x <- c(1,2,3)
a soma será
Sum(x)
Mas se eu criar o vetor
y <- c(1,2,NA)
a soma já será:
Sum(y)

Mas, claro, tem modos de não resultar em NA, que falarei nas próximas aulas.

Além do NA, o R tem um valor especial que se escrebe NaN – Quer dizer “not a
number”.
Por exemplo, 0/0 é um exemplo de um cálculo que produzirá NaN. Porque não é um
número. Mas atua exatamente como o NA.
E, quando há NaN em alguma função, normalmente também produzirá NaN no
resultado.
Sqrt(NaN)
z <- c(1,2,NaN)
Sum(z)

Eu vou ensinar mais a frente a pegar os elementos de um vetor.


Mas, se você quiser o terceiro elemento do vetor z, é só escrever:
z[3]
E retornará esse terceiro elemento.
E o interessante é que ele NA em vez de NaN!
Então o importante mesmo é entender o NA – Not Avaibale. Que é aquilo que o R
considera como valor vazio.

Até a próxima aula!!

5) Comentar no R

Para comentar um código no R, usamos # (hashtag) no começo da linha.


Vocês podem perceber que ignorou a linha escrita “calculadora simples”
O R não tem múltiplos comentários. Então você necessariamente precisa digitar “#” ou
CTRL + SHIFT + C.
#Calculadora simples
#Não quero que execute
1+2
Você pode selecionar tudo e rodar.
Pode perceber que não executou nada na parte onde estava escrito #Calculadora
simples e #Não quero que execute. Executou apenas a soma 1 + 2.
6) Letra MAÍSCULA e minúscula no R (case sensitive)

Agora, uma coisa importatíssima no R.

O R é case-sensitive. Faz diferença entre MAÍUSCULA e míniscula.


O vetor a que recebe 1, 2 e 3
a <- c(1,2,3)
é diferente do vetor A que recebe o valor 1, 2 e 3.
A <- c(1,2,3)
Aqui na terceira tela você consegue ver claramente que são diferentes.
Tem uma função no R muito famosa, que se escreveu View( aqui colocar o que você
quer visualizar).
O V é maísculo, mas quem está começando no R coloca minúsculo. E nunca
consegue rodar essa função, achando que há um problema no R.
Mas na verdade não funciona porque o R é case sensitive. Então ele considera que a
função view com v minúsculo é diferente da função View com V maiusculo.
Até a próxima aula!!

7) Gráfico no Rstudio

Se eu digitar barplot(y), executará no console, e na quarta tela podemos ver


graficamente esses números na aba Plots.
Aqui está o 2,2,3,4,5,5 e 6.

Criarei agora outro vetor, que chamarei de z com os valores 1,1,3,3,3,3 e 7. Vou rodar.

Aqui está o gráfico.

Podemos além de dar zoom, podemos passar a setinha para o lado, para ver o gráfico
anterior, exportar. E, também, apagar os gráficos gerados.
Até a próxima aula!!

8) Como usar qualquer função (Help)

Nessa quarta tela tem outra aba muito útil e importante.


Vou digitar aqui no script help e a função sum (de somar).
Nesse caso, foi executado no console e o resultado apareceu nessa útlima tela, na
aba Help.

O Rstudio abre essa tela e nos explica detalhes sobre a função.


Toda função pode ser acionada no R por um código. Porém, o Rstudio veio para nos
facilitar.
Em vez de digitar help(sum), Você só precisa clicar no help e digitar no buscador a
função sum.
Todas as funções, não importa quem escreveu, seguem o mesmo padrão. Então
qualquer função que digitamos aqui no Help estará escrita no mesmo formato.
Vale a pena entender então o formato do Help.
Já adiantando, você precisa olhar quatro partes : a descrição, o uso com os
argumentos , os detalhes e o exemplo.
Primeiro tem uma descrição resumida para que serve essa função.

Depois, vem a parte do Usage e Arguments. Que diz como é essa função, qual a
ordem dos argumentos e o que eles significam.
Ele nos diz que a soma precisa ser um vetor, o que é uma informação muito
importante e mostra o significado do na.rm.
NA quer dizer valor vazio, conforme tinha explicado.
E, por padrão, quando tem NA no argumento, o resultado será NA.
Então ele faz uma pergunta no argumento :
Deveria valor vazio, ou seja, NA ser removido. Por padrão, a resposta é FALSE.
Ou seja, não será removido.

Olha, por exemplo:


Vou criar o vetor x <- c(1,2,NA)
Vou colocar FALSE e vou colocar TRUE.
Por padrão, se eu deixar FALSE, vamos ver o que ele nos retornar.
Conforme eu falei na aula anterior, a soma de NA sempre será NA.
Mas, se eu deixar TRUE, vamos ver qual será o resultado.
Então, se tiver um valor vazio ou que não seja um número, a função SUM
simplesmente não soma! Muito cuidado! Não esquece de colocar na.rm = TRUE, para
remover os valores vazios!

Em details, mostra todo o detalhe da função. É muito útil para caso você esteja usando
alguma função mais complicada.
No caso da função sum, ele vai direto à nossa dúvida. Se na.rm for FALSE, a soma
caso tenha um valor vazio terá como resultado NA.
E a útlima parte é a parte da qual eu mais gosto. Que são exemplos disponíveis
utilizando essa função.

E tem até um exemplo com NA, para que não haja dúvida mesmo!
Até a próxima aula!
9) Instalando pacotes

Bom, vou dividir 2 por 3.


O resultado será 0,66667...
Mas vamos supor que eu não queria zero vírgula algo.
Eu quero em percentual. Com uma casa decimal. Quero então que esteja 66,7%!
Podemos multiplicar por 100.
Depois, podemos usar uma função para arredondar, para ficar apenas só com uma
casa decimal.
Vamos escrever round(o cálculo depois colocar vírgula e o número de casas decimais)
Pronto, agora está 66,7. Mas quero também o sinal de percentual.
Para concaternar no R, tem uma função nativa que se escreve paste.
Então vou escrever paste(o cálculo aqui vírgula o caracter que quero concatenar, no
caso será o “%”).
E aqui está, 66,7%!

Mas deu muito trabalho, não deu?


Alguém criou uma função para encontrarmos isso facilmente.
Mas essa não é uma função nativa do R.
Então, para usá-la, precisamos instalar pacotes (packages).
3

Irei instalar o pacote scales.


Após instalar, ele fica aqui nos packages.
Mas, para conseguir usá-lo, precisamos ativar clicando nessa caixinha.

Agora, escrevendo apenas uma função, que se chama percent, e colocando 2/3,
conseguimos o mesmo resultado, 66,7%! Incrível, não?
Até a próxima aula!!

10) Outro modo de instalar pacotes

O Rstudio realmente foi criado para facilitar a nossa vida. Mas podemos fazer a
mesma coisa digitando código.
Eu, particulamente, prefiro digitar o código.
Você digita no script:
install.packages(“scales”)
Depois que foi instalado com sucesso, você digita:
library(scale6s)

E será selecionado para ser ativado.

Eu prefiro digitar o código porque quando a gente fecha o Rstudio, o pacote deixa de
estar ativado.
Eu gosto que SEMPRE que abra o R já seja ativado alguns pacotes.
Entao eu deixo pronto sempre no script o código library(e aqui digito o pacote)
Caso eu passa o código para alguém, a pessoa não precisa ficar procurando o pacote
e ativar manualmente para rodar o meu código.
É só mandar o código para ela com a library!
Até a próxima aula!!!

11) Configurando um diretório

Quando importarmos algum arquivo no R, precisamos falar em qual caminho pegá-lo.


Não vou ensinar agora a importar base de dados, mas só para vocês entenderem, vou
pegar um arquivo csv na minha área de trabalho.
Clicando com o botão direito do mouse no arquivo, vemos que o endereço do caminho
é:

Para o R, o caminho desse arquivo é:


C:/Users/Fabrício Giordanelli/Desktop (ele utiliza a barra ao invés da contrabarra)
E só depois que vem o nome do arquivo, que é BASE.csv
Então, para importar, eu deveria que escrever esse caminho todo e depois escrever o
nome do arquivo.
Por exemplo:
read.csv(“C:/Users/Fabrício Giordanelli/Desktop/BASE.txt)
Para não ter que digitar esse caminho o tempo todo no R, mas digitar apenas
read.csv(“BASE.txt)
Nós temos que configurar nosso diretório.
Para saber qual o nosso diretorio padrão, é só você digitar getwd()

Ou você pode também olhar aqui no console.


Você pode perceber que o meu diretório padrão atual é o
"C:/Users/Fabrício Giordanelli/Documents"
Quero mudar para o Desktop.
Então eu escrevo
Setwd("C:/Users/Fabrício Giordanelli/Desktop")

Vou colocar tipo getwd() e você pode ver que mudou já o meu diretório.
Você pode ver ao lado da palavra Console no novo diretório.

O problema é que, quando fecharmos o R, o diretório volta a ser "C:/Users/Fabrício


Giordanelli/Documents".
(Abrir e fechar para mostrar)
Para manter SEMPRE o Desktop como diretório, mesmo depois que abrir e fechar o
Rstudio, é só você vir em tools, Global options, General e mudar em default working
directory.
Depois você fecha o Rstudio e abre novamente. E pronto, aqui está o novo diretório.

Tipos de dados no R

12) Classes no R

Existem cinco classes básicas no R:

Veja alguns exemplos:


# characters
Só precisa colocar entre aspas

a <- “variável”

typeof(a)

b <- “1”
typeof(b)

# numeric
É o padrão do R. Então quando você colocar um número, ele entende como numérico.
Aceita vírgula, inteiro etc.

c <- 1

typeof(c)

d <- 0.10

typeof(d)

# integer
Para o R entender que é inteiro, o número precisa ter um L maísculo do lado. Inteiro
não aceita casas decimais.

e <- 1L

O L precisa ser maísculo

typeof(e)

# logical
Lógico você fala se é verdadeiro ou falso. Pode escrever TRUE ou só T que o R já
entende que é TRUE.

f <- TRUE ou T

typeof(f)

g <- FALSE ou F

typeof(g)

# complex (raramente utilizado para análise de dados)


Vou só explicar que existe, mas não usaremos nesse curso.
h <- 2 + 5i (número imaginário)

typeof(h)

Até a próxima aula!!

13) Coerção

Para o R, True = 1 e Falso = 0.

Algumas vezes, o R pode não conseguir fazer a coerção e resulta em NA. Mas você
provavelmente receberá um aviso.
Estrutura de dados no R

Nessa aula, falarei sobre estrutura de dados.


Estrutura de dados serve para nós guardamos algum valor.
Se pegarmos uma linguagem tipo o SAS, só tem uma estrutura de dados. Que é uma
tabela. Você só consegue inserir dados ou modificar dados por meio de uma tabela.
Mas o R é uma linguagem muito rica! Tem várias estruturas de dados.
Como, por exemplo: vetor, fator, matriz, array, lista, data frame e tibble.
Não faz sentido saber todas e nem precisamos.
Array é a mesma coisa que matriz e Tibble é a mesma coisa que data frame.
Eu fiz uma pesquisa de livros e cursos para saber quais eles ensinam.
Praticamente TODOS ensinam esses quatro. Que é o que importa e o que você
precisa saber.

Mas, nesse curso, vou um pouco além.


Vou ensinar também sobre fator, porque gosto de trabalhar muito com gráficos. E
dominar fator nos facilita muito na construção de gráficos
Até a próxima aula!

Vetores

1) Como criar

Os vetores são uma das características mais importantes no R.


Mesmo um único valor é um vetor contendo um elemento

Se nós escrevermos
x <- 1
x é um vetor do tipo numérico com uma única posição.
Usando o comando c() , concatena os k valores entre as vírgulas e cria um vetor.
Então, vetores são criados usando a função c()
x <- c(1,2,3,4,5)
Vetor precisa ter elementos do mesmo tipo.
Pode guardar qualquer tipo de dado, como caractere, inteiro, numérico, lógico,
complexo. Mas APENAS um.
Então pode ser:
Numérico
x <- c(1,2,3,4,5)
typeof(x)
length(x)
Inteiro
y <- c(1L,2L,3L,4L,5L)
typeof(y)
length(y)
Caracatere
z <- c(“1”,”2”,”3”,”4”,”5”)
typeof(z)
length(z)
Mas apenas um!
Se eu colocar, por exemplo,
a <- c(1,2,3L,”a”,TRUE)
Você pode perceber que tem numérico, inteiro, caractere e lógico!
Ele não aceita isso, então, automaticamente, ele converte para uma coisa só
typeof(a)
O R tem uma certa hierarquia, que é
DOMINANTE character > complex > numeric > integer > logical RECESSIVO
Então ele vai colocar tudo isso como caractere.
Mais um exemplo:
x <- c(1, 5, 4, 9, 0)
typeof(x)
length(x)
x <- c(1, 5.4, TRUE, "hello")
x
typeof(x)

Até a próxima aula!!


2) Outra maneira de criar vetor
1:7
x <- 1:7
x
y <- 2:-2
y
Se for quiser alguma sequência mais complexa, é só colocar seq()
A função seq() requer por padrão três parâmetros:
from = valor inicial
to = valo final
by = incremento
Alternativamente, podemos fornecer esses parâmetros (em ordem) sem a
necessidade de especificá-los por nome:
seq(1, 3, by=0.2)
a <- seq(1, 3, by=0.2)
seq(1, 5, length.out=4)
b
b <- seq(1, 5, length.out=4)
b

3) Acessar um elemento de um vetor

Vou criar o vetor chamado de vetor


Vetor <- c(“a”, “b”, “c”, “d”)
Para acessar elemento de um vetor, a gente usa index. Você fala exatamente a
posição que você quer.
O index no vetor do R começa no 1, ao contrário de quase todas as linguagens de
programação, que começa do zero.
Nós podemos usar um vetor de inteiro como index para acessar um elemento
específico.
vetor
vetor[3] #acessa o terceiro elemento do vetor
vetor[c(1, 3)] # acessa o primeiro e o terceiro elemento do vetor
vetor[1:3] # acessa do primeiro ao terceiro elemento do vetor

Até a próxima aula

4) Modificar e deletar um elemento de um vetor

vetor
vetor[2] <- “z”; # modifica o segundo elemento de um vetor
Z

vetor
vetor2 <- c(1,2,3,4,5,6)
vetor2
vetor2[vetor2<3] <- 1
vetor2

Para deletar um elemento de um vetor é só fazer:

x <- c(-3,-2,-1,0,1,2)
x <- NULL
x[2]
x
Muito simples, não?
Até a próxima aula!!

5) Coerção de vetor
Vetor pode mudar seu tipo de dados para outro usando a função as.* (a classe que
você quiser).
Você pode coagir com as funções as.character(), as.numeric(), as.integer() e
as.logical().
ano <- c(1996,1997,2000)
typeof(ano)
ano
ano <- as.integer(ano)
typeof(ano)
ano
ano <- as.logical(ano)
typeof(ano)
ano
ano <- as.character(ano)
typeof(ano)
ano

Se o R não entender como coagir uma classe na outra, ele soltará um warning
informado que colocou NA no lugar.

ano
ano <- as.numeric(ano)

Fatores

1) Como criar

R tem uma estrutura de dados especial para armazenar variáveis categóricas.


Por exemplo:
Estado civil..
Pode ser solteiro, casado ou divorciado
O R, quando cria fatores, chama esses valores distintos de levels.
Para criar, você faz assim:
x <- factor(c(“solteiro”, “casado”, “casado” , “divorciado”, “solteiro”))
Você pode ver que tem 2 solteiros, 2 casados e um divorciado.
x
Ao rodar o x, ele cria levels. Esses levels são os valores distintos.
Então está falando que esse fator tem cinco elementos e tem três levels : solteiro,
casado e divorciado.
Para checarmos se a varíavel é um fator, é só escrever:
Class(x)
Para checarmos os tipos de dados desse fator, você digita
Typeof(x)
Você pode perceber que ele considera como inteiro.
Para ver melhor a estrutura, você digita str(x)

Que é a mesma coisa que o Rstudio imprime aqui na terceira tela.


Então você percebe que o fator no R pega os levels e chama de 1, 2 e 3.
E na verdade ele entende que solteiro é 3, casado 1 e divorciado 2.
O fatores são úteis então para nomear inteiros.
Por isso essa estrutura de dados fator é MUITO boa para trabalhar com gráficos. Ele
serve para variáveis categorizadas.
Por exemplo:
Vamos digitar
plot(x)
O quisrmos colocar o divorciado na frente, fazendo do menor para o maior, é só mudar
a ordem dos levels:

x <- factor(x, levels = c(divorciado, solteiro, casado))


plot(x)
Simples, não? Isso ajuda bastante nos gráficos que criarmos no futuro.

Vou dar mais um exemplo de fator para ficar claro:


Posso colocar labels (nomes) para esses levels! As labels precisam estar na mesma
ordem que os levels.
Então vamos fazer assim
genero<- factor(c(1,2,1,2,1,2,1,2), levels = c(1,2), labels= c("masculino", "feminino"))
genero
Ficou claro agora que continua como valor inteiro, só que com labels!
Até a próxima aula!!

2) Acessar um elemento de um fator

É idêntico ao vetor. Até porque o fator usa vetor.


x <- factor(c(“solteiro”, “casado”, “casado” , “divorciado”, “solteiro”))
x[3] #Acessa o terceiro elemento
x[c(2,4)] #Acessa o segundo e o quarto elemento do fator

3) Modificar um elemento de um fator

Aqui é também Idêntico também a vetor.


x <- factor(c(“solteiro”, “casado”, “casado” , “divorciado”, “solteiro”))
x[2] <- “divorciado” #modifica o segundo elemento
x
Até a próxima aula!!

Matriz

1) Como criar

Matriz é similar a vetor, mas contem mais dimensoes.


Igual ao vetor, só aceita um tipo de dado!

Para criar, tem algumas formas:


Matriz <- matrix(1:9, nrow = 3, ncol = 3)
ou, você pode escrever:
Matriz2 <- cbind(c(1,2,3), c(4,5,6))
o cbind serve para criar coluna
ou
Matriz3 <- rbind(c(1,2,3), c(4,5,6))
o rbind serve para criar linha
para saber se é uma matriz, é só escrever:
class(matriz)
Para saber os seu tipo de dado, é só digitar:
Typeof(Matriz)
E, para saber sua dimensoes, só escrever:
Dim(matriz)
Até a próxima aula!!

2) Acessar um elemento de uma matriz


Podemos acessar igual ao vetor, por meio do index
Variavel[linha,coluna]
X <- matriz(1:9, nrow = 3)
X[2,2]

x[2,2]

x[c(1,2),c(2,3)] # select rows 1 & 2 and columns 2 & 3


x[c(3,2),] # leaving column field blank will select entire columns
x[,] # leaving row as well as column field blank will select entire matrix

3) Modificar um elemento de uma matriz


x <- matriz(1:9, nrow = 3)
x[2,2] <- 10

10 x[2,2] <- 10

x[x<5] <- 0
Podemos adicionar linhas ou colunas utilizando a função rbind() e cbind()
cbind(x, c(1, 2, 3))
rbind(x,c(1,2,3))
Para remover linha ou coluna, é só selecionarmos o que queremos e reescrevermos a
variável:
x <- x[1:2,]
x

Lista

1) Como criar uma lista

A lista aceita qualquer tipo de dado, diferentemente de vetor.


Além de aceitar qualquer tipo de dado, aceita também qualquer estrutura de dado.
Lista pode ser criado usando a função list().

Por exemplo:

x <- list(2L,TRUE,c(1,2), “a”)


Aqui a lista tem quatro componentes com tipos de dados diferentes : inteiro,
lógico,numérico e caractere.
Para saber que é lista, você escreve:
Para saber sua estrutura, vamos digitar:
str(x)

2) Como acessar os componentes de uma lista


Como a lista é uma estrutura de dados que guarda qualquer coisa, temos que ter um
pouco mais de trabalho para pegar seus dados.
Por exemplo:

x <- list(2L,TRUE,c(1,2), “a”)

Se digitarmos x[3], aparecerá o que tem na teceira posição da lista, como um todo.
Mas, se quisermos pegar o que tem dentro da terceira posição, precisamos colocar
mais um colchete.
x[[3]]

Para saber que é uma lista, vamos digitar


Class(x)
Para saber os tipos de dados, você precisa digitar:
Typeof(x[[1]])

Até a próxima aula!!!!


3) Como modificar uma lista?

Como deletar componentes em uma lista?


Data Frame

1) Como criar um data frame

Data Frames são tabelas de dados.


Os principais pacotes no R só aceitam data.frame.
Em um data frame, cada coluna pode armazenar um tipo de dado diferente.
Diferentemente da matriz.
Então eu diria que é a estrutura de dados mais importante. Mas sabendo vetor, fator,
matriz e lista facilita MUITO a trabalhar com data frame.
Por exemplo:

Isso é um data frame! Você percebe que é uma matriz. Mas as colunas aceitam tipos
de dados diferentes. Por exemplo, numerico, caractere e lógico. Isso na matriz nao
pode.
Cada coluna de um data frame é um vetor. O data frame é um conjunto de vetores.
Já que cada coluna é um vetor, cada coluna só pode ter UM tipo de dado.
E todas as colunas precisam ter o mesmo tamanho. Caso não tenha, você precisa
colocar valor vazio.

Vejamos na prática!
Para criar, é só escrever data.frame().
Vou criar quatro vetores.

nome = c(“Alexandre”, "Amanda", "Daniel", "Fabricio", “Larissa”)


altura = c(1.71, 1.65, 1.80, 1.75, 1.65)
idade = c(31L, 25L, 24L, NA, 34L)
fumante = c(TRUE,FALSE, FALSE, TRUE, FALSE)
x <- data.frame(nome, altura, idade, fumante)
str(x)

Só para lembrar, data frame exige variáveis do mesmo tamanho. Se não tiver o
mesmo tamanho, chame de NA

Repare que a primeira coluna, “nome”, eu criei como vetor..e coloquei aspas para
dizer que era caractere.
Por padrão, a função data.frame() converte o vetor caracter em fator..
E muitas vezes nós não queremos isso.

Para supender isso, é só escrever o argumento stringsAsFactors = FALSE.

x <- data.frame(nome, altura, idade, fumante, stringsAsFactors = FALSE


)
str(x)

• Size:
o dim(surveys) - returns a vector with the number of rows in the first element, and the
number of columns as the second element (the dimensions of the object)
o nrow(surveys) - returns the number of rows
o ncol(surveys) - returns the number of columns
• Content:
o head(surveys) - shows the first 6 rows
o tail(surveys) - shows the last 6 rows
• Names:
o names(surveys) - returns the column names (synonym
of colnames() for data.frame objects)
o rownames(surveys) - returns the row names
• Summary:
o str(surveys) - structure of the object and information about the class, length and
content of each column
o summary(surveys) - summary statistics for each column

Sempre que lermos um arquivo externo, seja csv ,sas, spss..Ele transformará em data
frame.
2) Como acessar os componentes de um Data Frame?

Podemos usar o operador [ ou $ para acessar colunas de um data frame.

x$nome #vetor

x$nome[1:2] #vetor

Ou podemos, também, acessar igual a uma matriz pelo index :

x[1:3,1] # seleciona a segunda e terceira linha

x[1:3,”nome”]

x[1:2,1]

x[1:2, “nome”]

3) Como modificar um Data Frame ?


Data frames podem ser modificados como modificamos matrizes

x[1,"idade"] <- 20;

ou

x[1,3] <- 20;

4) Adicionar linhas ou colunas


Colunas

cbind(x,genero=c("M","F", NA))

Você pode perceber que você está inserindo uma coluna de vetor. Então precisa
ter o mesmo tipo de dado.
Linhas

rbind(x,list(1,TRUE,"Paul")) – AQUI É A IMPORTÂNCIA DE SE SABER


TRABALHAR COM LISTA

Na linha, você pode perceber que está entrando numérico, lógico e caractere.
Então não podemos inserir um vetor, mas sim uma lista. Com esses três tipos de
dados.
Por isso é muito importante saber lista.
Até a próxima aula!!

5) Deletar linhas ou colunas

Para deletar colunas, é igual como se deleta vetor. Até porque data frame são várias
colunas de vetor.

x$nome <- NULL

Para deletar linhas, fazemos matricialmente:

> x <- x[-1,]

Deletará a primeira linha

6) Coerção de colunas no data frame


Importar arquivo no R

As funções básicas para importar dados no R são:


read.delim(), read.csv(), read.csv2()
A primeira coisa é você escolher o local do arquivo que você vai abrir.
Você pode também digitar o caminho completo.
Para ler txt, é só digitar:
Base <- read.delim()
Para ler csv separado por vírgula, é só escrever
Base_csv <- read.csv()
Caso o seu csv esteja separado por ponto e vírgula, é só você escrever csv2 em vez
de csv.
base_csv <- read.csv2()
Caso você queira o xlsx, você instala o pacote xlsx e ativa sua library
library("xlsx")

my_data <- read.xlsx("my_file.xlsx")

Porém, no R é sempre indicado usar csv em vez de xlsx.

Até a próxima aula!!!


Vou abrir essa base que eu nomiei de “dados_seguradora”.
Você pode ver que está no desktop, então só preciso escrever:
read.csv(“dados_seguradora.csv”) porque, por padrão, o R entende que o diretório
padrão é o DESKTOP.
Mas posso também escrever o caminho completo:

Se você escrever str(base), terá as informações sobre a base:


bateu_veiculo - FACTOR
qtd_batidas - FACTOR
veic_financiado - FACTOR
valor_veiculo - FACTOR
marca_veiculo - FACTOR
preco_seguro - NUMÉRICO

Mas você pode também olhar no painel ao lado

Só que antes de continuar, vamos transformar a coluna qtd_batida em um vetor de


valor inteiro em vez de factorial.
Para transformar, é só escrever :
base$qtd_batidas <- as.integer(base$qtd_batidas)

Até a próxima aula!!

Exploração de dados com o R


O pacote dplyr
O dplyr é o pacote mais útil para realizar transformação de dados
Serve para manipular, limpar e sumarizar seus dados.
Ele é mais rápido que qualquer pacote de manipulação de dados nativo do R. Porque
ele foi feito de uma maneira muito eficiente.
Você o utiliza com o operador PIPE, que é %>%.
Você precisa instalar o pacote dplyr.
Por exemplo

Manipular dados se torna uma tarefa muito mais simples.

Vamos trabalhar com o data frame que criamos anteriormente.

nome <- c("Alexandre", "Amanda", "Daniel", "Fabricio", "Larissa")

genero <- c(“Indefinido”, “Feminimo”, “Masculino”, “Masculino”,


“Feminimo”)

altura <- c(1.71, 1.65, 1.80, 1.75, 1.65)

idade <- c(31L, 25L, 24L, NA, 34L)

fumante <- c(TRUE,FALSE, FALSE, TRUE, FALSE)

base <- data.frame(nome, gênero, altura, idade, fumante,


stringsAsFactors = FALSE)

str(base)
Selecionar colunas

Para selecionar, é só escrever de onde queremos pegar.


No caso, queremos pegar o data.frame que criamos com o nome de “base” mesmo.
Então, vou escrever “base” e depois usar o PIPE (apertando ctrl + shift + m)
E digitar select.
E digitar apenas as varíaveis que eu quero manter na base.

Você pode escrever de uma vez só o pipe com a função do dplyr ou pode pular linha.

Já adianto que é muito melhor pular linha porque o código ficar MUITO mais
organizado e mais facil de ser entendido.
Eu gosto de criar uma nova base e fazer as alterações.
Vou chamar de “nova_base”.

Pode perceber que criou o novo data frame chamado de nova_base aqui no canto
direito.
Se eu quiser selecionar todas as colunas EXCETO uma é só utilizar o sinal de menos
antes da palavra.
Por exemplo :

Selecionará todas as variáveis, menos altura e idade.

Até a próxima aula!!

Filtrar

Vamos agora filtrar algumas colunas.


Vou filtrar gênero, so que antes vou selecionar apenas a coluna gênero.
base %>% select(genero)
Agora, para saber quais opções temos na coluna gênero, é só digitar “distinct()”
base %>% select(genero) %>% distinct()
Então tem o sexo masculino, feminino e indeterminado.
Vou escolher Feminino
Para selecionar quem for igual é só digitar:
Nova_base <-
base %>%
filter(genero == “Feminino”)

o igual tem dois símbolos de igual mesmo.


Podemos, também, só selecionar as colunas que queremos para depois filtrar.. por
exemplo:
Nova_base <-
base %>%
select(genero, peso) %>%
filter(genero == “Feminino”)

Nesse caso, mostrou apenas as colunas gênero e peso e imprimiu quem é do gênero
feminino.

Caso eu queira selecionar mais de um gênero, não apenas feminino, é só escrever


%in%.

Nova_base <-
base %>%
filter(genero %in% c(“Feminino”,” Indefinido”))

Se eu quiser filtrar só quem for peso maior do que 70, é só usar o sinal de maior.

Nova_base <-
base %>%
select(genero, peso) %>%
filter(peso > 70)

Aqui pode ser maior, maior ou igual, menor, menor ou igual.


Caso você queira usar o sinal de diferente, você escreve !=
Nova_base <-
base %>%
select(genero, peso) %>%
filter(genero != “Masculino”)
Caso queira que vários sejam diferentes, você usa o exclamação antes da variável
filter(!genero %in% c(“Masculino”,”Feminino”))

Pode ver que sobrou apenas o indeterminado.

Se quiser selecionar apenas genero feminino com peso maior do que 70, é só colocar
o sinal do e comercial no filtro.
Nova_base <-
base %>%
select(genero, peso) %>%
filter(genero == “Maculino” & peso >70)

Se quiser que seja sexo masculino ou peso maior do que 70, é apenas utilizar uma
barra na vertical.
Nova_base <-
base %>%
select(genero, peso) %>%
filter(genero == “Maculino” | peso >70)

Criar novas colunas

Aqui vou criar uma coluna onde todas as linhas tem o mesmo nome nessa coluna.
Nova_base <-
base %>%
mutate(perfil = “Saudável”)

Nova_base <-
base %>%
select(nome, peso, altura) %>%
mutate(perfil = “Saudável”)

Nova_base <-
base %>%
mutate(perfil = ifelse(peso > 60, “Saudável”, “Não Saudável))

Nova_base <-
base %>%
select(nome, peso, altura) %>%
mutate(perfil = ifelse(peso > 70 & sexo == “Masculino, “Saudável”, ifelse(peso < 70 &
sexo == “Masculino, “Não Saudável”, ifelse(peso > 60 & sexo == “Feminino”,
“Saudável”, “Não Saudável”))

Criar nova coluna com percentual

Vou criar uma nova coluna com percentual utilizando do gênero.

Mudar ordens das colunas

Aqui selecionarei todas as colunas.


Nova_base <-
base %>%
select(nome, gênero, altura, idade, fumante)

Podemos mudar a ordem apenas trocando a ordem das variáveis no select.

Podemos fazer assim:


Nova_base <-
base %>%
select(gênero, nome, altura, idade, fumante)

Mas a maior dica que posso dar é você usar a função everything()

Você escreve a primeira variável que você quer na frente, no caso: “gênero”.
Nova_base <-
base %>%
select(gênero, everything())

Ordenar colunas

Nova_base <-
base %>% arrange(altura)
Nova_base <-
base %>%
arrange(desc(altura))
Podemos, também, colocar mais do que um. Pode ser um em ordem crescente e o
outro em ordem decrescente.
Nova_base <-
base %>%
arrange(desc(altura), peso)

Agrupar e Sumarizar

Nova_base <-
base %>%
group_by(genero) %>%
summarise (qtd = n()) (Aqui tanto faz se o summarise ou summarize, com z)

Nova_base <-
base %>%
group_by(genero) %>%
summarise (qtd = n(), media_peso = mean(peso), media_altura = mean(altura))

Nova_base <-
base %>%
group_by(genero, fumante) %>%
summarise (qtd = n())

Useful functions
• Center: mean(), median()

• Spread: sd(), IQR(), mad()

• Range: min(), max(), quantile()

• Position: first(), last(), nth(),

• Count: n(), n_distinct()

• Logical: any(), all()

Gráficos com o R

https://www.datanovia.com/en/blog/ggplot-aes-how-to-assign-aesthetics-in-ggplot2/

http://leg.ufpr.br/~walmes/cursoR/data-vis/slides/08-ggplot2.pdf

Em 2005, foi publicado um livro chamado The Grammar of graphics, uma fonte
de princípios fundamentais para a construção de gráficos estatísticos. No
livro, ele defende que um gráfico é o mapeamento dos dados a partir de
atributos estéticos (posição, cor, forma, tamanho) de objetos geométricos
(pontos, linhas, barras, caixas).

A partir dessa definição, foi escrito um livro sugerindo que os principais


aspectos de um gráfico (dados, sistema de coordenadas, rótulos e anotações)
podiam ser divididos em camadas, construídas uma a uma na elaboração do
gráfico.

Essa é a essência do pacote ggplot2.

Você consegue construir um gráfico com os mapeamentos dos dados. Falando


a forma estética e geométrica.

Vamos instalá-lo:

install.packages("ggplot2")
library(ggplot2)

nome <- c(“Alexandre”, "Amanda", "Daniel", "Fabricio", “Larissa”)


genero <- c(“Indefinido”, “Feminimo”, “Masculino”, “Masculino”, “Fem
inimo”)

altura <- c(1.71, 1.65, 1.80, 1.75, 1.65)


idade <- c(31, 25, 24, NA, 34)
fumante <- c(TRUE,FALSE, FALSE, TRUE, FALSE)

x <- data.frame(nome, altura, idade, fumante)


str(x)

No ggplot2, os gráficos são construídos camada por camada, sendo a primeira


delas dada pela função ggplot() (repare que não tem o “2”). Essa função
recebe um data frame e cria a camada base do gráfico. Se rodarmos apenas a
função ggplot(), obteremos um painel em branco.
O código abaixo constrói um gráfico de pontos entre as variáveis altura e peso.

ggplot(peso) +
geom_point(aes(x = peso, y = altura))

• como vimos, a primeira camada é dada pela função ggplot() e recebe um


data frame;
• a segunda camada é dada pela função geom_point(), especificando a
forma geométrica utilizada no mapeamento das observações;
• A combinação da função ggplot() e de uma ou mais
funções geom_() definirá o tipo de gráfico gerado.
• as camadas são unidas com um +;
• o mapeamento na função geom_point() recebe a função aes(), responsável
por descrever como as variáveis serão mapeadas esteticamente.
• Atenção! As camadas dos gráficos são empilhadas utilizando-se o
sinal +. Como a estrutura é muito parecida com uma pipe line, é comum
trocarmos o + por um %>% no meio do código, resultando em erro.

Se quisermos adicionar uma linha aos nossos pontos, só precisamos escrever:

ggplot(peso) +
geom_point(aes(x = peso, y = altura)) + geom_line()

Muito simples não?

Na parte do mapeamento, podemos colocar o x, o y, o size (que será o


tamanho do ponto), fill que será a cor do preenchimento da linha e o grupo,
para agrupar as variáveis nos gráficos.
• geom_line: para retas definidas por pares (x,y)
• geom_abline: para retas definidas por um intercepto e uma inclinação
• geom_hline: para retas horizontais
• geom_boxplot: para boxplots
• geom_histogram: para histogramas
• geom_density: para densidades
• geom_area: para áreas
• geom_bar: para barras

Gráfico de pontos/linhas

nome <- c("Alexandre", "Amanda", "Daniel", "Fabricio", "Larissa")


genero <- c("Indefinido", "Feminimo", "Masculino", "Masculino", "Feminimo")
altura <- c(1.71, 1.65, 1.80, 1.75, 1.65)
peso <- c(70, 58, 80, 73, 64)
idade <- c(31, 25, 24, NA, 34)
fumante <- c(TRUE,FALSE, FALSE, TRUE, FALSE)

base <- data.frame(nome, genero, altura,peso, idade, fumante)

library(ggplot2)
A primeira coisa que vamos fazer é criar o ggplot
ggplot(base)

Depois, podemos adicionar a estética. Você pode escrever mapping = se quiser.. mas
é opcional.
Depois, escreve “aes”, que quer dizer estética.
Escolhe o valor para o x e o valor para o y.
ggplot(base, aes(peso,altura))
Ficando assim.

Agora, é só você falar qual a forma geométria que você quer.


No caso, quero que tenha ponto.
Então você escreve:
ggplot(base, aes(peso,altura)) + geom_point()
Ficando assim
Uma coisa também importante a se falar é que você pode escrever
ggplot(base, aes(peso,altura)) + geom_point()
ou escrever
ggplot(base) + geom_point(aes(peso,altura))
TANTO FAZ...

Para adicionar linha a esse gráfico, é só você escrever “+” e a forma geométrica
geom_line.
ggplot(base, aes(peso,altura)) + geom_point() + geom_line()
Bem simples, não?
Se quiser que aparece o nome de cada pessoa que possui o respectivo peso e altura,
é só escrever label e adicionar a forma geométria geom_text.
ggplot(base, aes(peso,altura, label = nome)) + geom_point() + geom_line() +
geom_text()

Eu gosto sempre de subir um pouco a palavra em cada ponto. É só escrever vjust = -1


ggplot(base, aes(peso,altura, label = nome, vjust = -1)) + geom_point() + geom_line() +
geom_text()

Se quiser adicionar cor, é só digitar colour e falar qual cor você quer. Mas esse cor
precisa ser digita ou no geom_point ou no geom_line ou em ambos. Você sempre
escrever “aes”, mas por acaso no ggplot você não usa o aes quando se refere a uma
única cor. Não sei o porquê e nem vocês precisam saber.

ggplot(base, aes(peso,altura, label = nome, vjust = -1)) + geom_point(colour = "red")


+ geom_line() + geom_text()
ggplot(base, aes(peso,altura, label = nome, vjust = -1)) + geom_point() +
geom_line(colour = "red") + geom_text()

ggplot(base, aes(peso,altura, label = nome, vjust = -1)) + geom_point(colour = "red")


+ geom_line(colour = "red") + geom_text()
E, se quiser aumentar a grossura da linha, é só escrever “size”. O size serve também
para aumentar o tamanho do texto aqui no ponto.

Podemos também que a cor seja separada por quem é fumante e quem não é
fumante. Só em vez de escrever na cor “red” você escreve o nome da variável que
você quer separar.

ggplot(base, aes(peso,altura, label = nome)) + geom_point() + geom_line(aes(colour


= fumante)) + geom_text()
Como coloquei no ggplot, ele irá pintar TUDO de azul claro e rosa.

Mas podemos pintar em partes


Podemos pintar só o o geom_point

Só o geom_line
E só o geom_text

Ou os três juntos, que equivale a escrever no ggplot.


COR MANUAL
Muitas vezes não queremos essa cor padrão que o R nos oferece. Para alterar a cor
da linha é só escrever scale_colour_manual

ggplot(base, aes(peso,altura, label = nome,vjust = -1)) + geom_point(aes(colour =


fumante)) + geom_line(aes(colour = fumante)) + geom_text() +
scale_colour_manual(values = c("blue", "green"))

MUDAR OS NOMES DA VARIÁVEIS


Agora, outra coisa muito útil é saber mudar o nome da variável impressa aqui no canto
direito e suas labels.
Vou chamar de fumante com letra maiúscula e em vez de false e true vou chamar de
SIM e NÃO.
Para isso, vamos transformar em fator e nesse fator renomear os levels.
base$fumante <- factor(base$fumante, levels = c(TRUE,FALSE), labels=c("Sim",
"Não"))

E, para mudar o nome da legenda, só digitar +labs(color='Fumante'). Muito simples.


Ficando :
ggplot(base, aes(peso,altura, label = nome,vjust = -1)) + geom_point(aes(colour =
fumante)) + geom_line(aes(colour = fumante)) + geom_text() +
scale_colour_manual(values = c("blue", "green")) + labs(color='Fumante')
Só isso.

E outra dica que posso dar é usar alguma thema. Darei uma lista no material desse
curso, mas uma que eu gosto é a theme_light().
ggplot(base, aes(peso,altura, label = nome,vjust = -1)) + geom_point(aes(colour =
fumante)) + geom_line(aes(colour = fumante)) + geom_text() +
scale_colour_manual(values = c("blue", "green")) + theme_light()
Até a próxima aula!!

Gráfico de barra

Eu gosto aqui de sempre utilizar a biblioteca do dplyr.


library(dplyr)
base2 <- base %>% group_by(genero,fumante) %>% summarise(qtd = n())

ggplot(base2,aes(x = fumante, y = qtd)) + geom_bar(stat="identity")


Ficando assim:

Podemos escrever FILL para colocar a cor. No gráfico de linha você escreve
COLOUR, mas no gráfico de barra você escreve FILL.
ggplot(base2,aes(x = fumante, y = qtd, fill=genero)) + geom_bar(stat="identity")

Eu, particulamente, não gosto desse tipo de gráfico e ele não é muito indicado,
principalmente se houvesse mais do que três levels.

Então, para separar esses gráficos, é só você escrever position = position_dodge().


ggplot(base2,aes(x = fumante, y = qtd, fill = genero)) + geom_bar(stat="identity",
position = position_dodge())

Só isso.

Se você quiser usar label, é só escrever isso no geom_text:


geom_text(aes(label = qtd), position=position_dodge(width=0.9), vjust=-1)

ggplot(base2,aes(x = fumante, y = qtd, fill = genero)) + geom_bar(stat="identity",


position = position_dodge()) + geom_text(aes(label = qtd),
position=position_dodge(width=0.9), vjust=-1)
Vamos novamente mudar os nomes das variáveis.
Da variável fumante.
base$fumante <- factor(base$fumante, levels = c(TRUE,FALSE), labels=c("Sim",
"Não"))
Se quisermos mudar a ordem do gênero podemos também.
base$genero <- factor(base$genero, levels = c(“Masculino,”Feminino”,
“Identerminado”))
Eu gosto de fazer para saber a ordem que aparecerá aqui na legenda.

Agora, vamos mudar a cor do gráfico.


Para mudar é só digitar o “+” e digitar scale_colour_manual()
E, claro... para deixar mais bonito o gráfico é só escrever theme_light()
ggplot(base2,aes(x = fumante, y = qtd, fill = genero)) + geom_bar(stat="identity",
position = position_dodge()) + geom_text(aes(label = qtd),
position=position_dodge(width=0.9), vjust=-1)+ scale_fill_manual(values = c("blue",
"pink", "gray")) + theme_light()
Até a próxima aula!

https://www.r-bloggers.com/detailed-guide-to-the-bar-chart-in-r-with-ggplot/

Gráfico de pizza ou de donut

O gráfico de pizza no R é feito também utilizando ggplot. Mas tem que fazer algumas
manipulações. O que eu quero que você entenda é que você aqui precisa deixar o
racional, o lógico de lado e apenas deixar fluir. Digamos que você precisa “decorar”
como é feito esse tipo de gráfico e sempre aproveitar esse código.

Vou fazer dois gráficos de pizza e dois de donuts com a variável gênero e fumante.
base_pizza <- base %>% group_by(genero) %>% summarise(qtd = n()) %>%
mutate(prop = qtd/sum(qtd)) %>% mutate(loc = cumsum(prop) - 0.5*prop) %>%
arrange(desc(genero))

Essa coluna “loc” que é a localização ela serve apenas para o número ou percentual
ficar no centro do gráfico de pizza. Então você apenas precisa decorar e sempre criar
uma coluna escrevendo cumsum(prop) - 0.5*prop, ficando:

ggplot(base_pizza, aes(x = "", y = prop, fill = genero)) +


geom_bar(width = 1, stat = "identity", color = "white") +
coord_polar("y", start = 0)+
geom_text(aes(y = loc, label = prop), color = "white")+ theme_void()

Se quiser mudar as cores, é só escrever : scale_fill_manual(values = mycols)

ggplot(base_pizza, aes(x = 2, y = prop, fill = genero)) +


geom_bar(width = 1, stat = "identity", color = "white") +
coord_polar("y", start = 0)+
geom_text(aes(y = loc, label = prop), color = "white")+ theme_void() + xlim(0.5, 2.5)

Aqui também..Se quiser mudar as cores, é só escrever : scale_fill_manual(values =


mycols)

https://www.datanovia.com/en/blog/how-to-create-a-pie-chart-in-r-using-ggplot2/

Mapa

library(geobr)
library(dplyr)
library(ggplot2)

nome <- c("Alexandre", "Amanda", "Daniel", "Fabricio", "Larissa")


genero <- c("Indefinido", "Feminino", "Masculino", "Masculino", "Feminino")
altura <- c(1.71, 1.65, 1.80, 1.75, 1.65)
peso <- c(70, 58, 80, 73, 64)
idade <- c(31, 25, 24, NA, 34)
fumante <- c(TRUE,FALSE, FALSE, TRUE, FALSE)
UF <- c("RJ","SP","RJ","RJ","SP")
base <- data.frame(nome, genero, altura,peso, idade, fumante, UF)

estados <- read_state(code_state ="all")

base_nova <- base %>% group_by(UF) %>% summarise(media_alt = mean(altura))

juntos <- base_nova %>% rename(abbrev_state = UF) %>%


full_join(estados,base,by="abbrev_state")

View(juntos)

ggplot(juntos,aes(geometry = geom)) + geom_sf(aes(fill=media_alt)) +


scale_fill_gradient(low = "#56B1F7", high = "#132B43", limits = c(1.50,1.80), breaks =
c(1.50,1.60,1.70,1.80), labels = c("1.50","1.60","1.70","1.80")) + theme_void()

R MarkDown - teoria

Criar arquivo R Markdown

Para criar um arquivo no R MarkDown é bem simples. Você só precisa clicar no


maiszinho, igual quando você cria um novo script e clicar em R Markdown.
Depois, você colocar o título que você quiser, pode deixar como HTML mesmo..Você
vai ver que, por padrão, ele gera um html. Você pode mudar de html para pdf ou word
com apenas um clique depois. Então não se preocupe com isso.

Gerará esse documento.


Vamos rodar!
Você pode perceber que gerou uma nova tela com as informações do R MarkDown.

Eu particupalmente não gosto que gere uma nova tela toda vez que eu rodar. Gosto
que imprima aqui no Viewer.

Vamos clicar nesse botãozinho de configurações e depois clicar em preview in viewer


pane.

Vamos agora rodar de novo..


Vocês podem perceber que agora o relatório foi gerado na abinha Viewer.
Até a próxima aula !!!
Imprimir em outros formatos

Logo no início, temos o título do documento que será impresso e temos o formato que
será impresso.

Caso você não queira que seja gerado um html, mas sim um documento no word,
você só precisa escrever: word_document.
Você pode também clicar na setinha aqui no Knit e gerar um word com um clique.
Até a próxima aula!!

Cabeçalhos

Texto – Comentar, Negrito e Itálico

Digitar código no R Markdown

Para começar um código no R Markdown, você precisa digitar três acentos graves (é o
acento da crase). Não é apóstrofo ‘ ou aspas “. Nem acento agudo ´. É o acento
grave! (o mesmo utlizado na crase!)
Depois a gente chave, r e fecha a chave.
E Depois fecha com três acentos da crase também.

Qualquer código que você quiser digitar aqui no R Markdown, terá que ser digitado
aqui dentro.
Por exemplo
x <- c(2,,2)
sum(x)

Pode colocar também comentários, não será impresso.

R MarkDown – na prática

1) Sequências e números aleatórios

Sequências são importantes em várias operações, principalmente por economizar


tempo. Uma forma simples de criar uma sequência é utilizando dois pontos.

Olha, vou criar uma sequência dos números de 1 a 20.


1:20
É possível também que nossa sequência seja formada por um intervalo determinado
por nós. Para isso, utilizamos a função seq(). Como exemplo, vamos criar uma
sequência de 0 a 50 com um intervalo de 5.

seq(0, 50, 5)
Outras funções que frequentemente utilizamos no R são as que geram números
aleatórias. Tais funções são bastante importantes nos processos de amostragem. As
funções mais utilizadas para essa tarefa são: sample() e runif(). Vamos aos
exemplos:

#Gerar 20 números inteiros no intervalo de 0 a 100 sem reposição


sample(0:100, 20)
#Gerar 20 valores entre 0 e 1 com reposição
sample(0:1, 20, replace = TRUE)
Podemos gerar também valores aleatórios de variáveis do tipo character
sample(c("masculino", "feminino"), 5, replace = TRUE)

#Gerar 5 valores decimais entre 0 e 10


runif(5, 0, 10)

Podemos gerar também valores aleatórios de variáveis do tipo character. Para isso,
podemos utilizar a função sample() e definir um vetor de onde deverá ser selecionada
a amostra.
Como exemplo, podemos gerar 5 valores aleatórios entre as variáveis categóricas
“masculino” e “feminino”. Observe que, como o número de valores gerados supera o
conjunto de variáveis, devemos definir a possibilidade de repetição (replace = TRUE).
sample(c("masculino", "feminino"), 5, replace = TRUE)

Para gerarmos um determinado texto ou número repetidas vezes, podemos utilizar a


função replicate()
replicate(5, "meu texto")

Você também pode gostar