Introdução

Introdução ao R

Nesta seção, iremos abordar como (1) instalar o R e o RStudio, (2) realizar operações aritméticas e salvar valores em variáveis, (3) abrir tabelas, (4) retirar estatísticas descritivas e (5) montar um gráfico de barras e um histograma. A ideia é trazer de maneira breve e superficial as funcionalidades do R para que possam ser exploradas posteriormente nas próximas aulas.

Primeiros passos

O que é o R?

R é uma linguagem de programação voltada para a análise de dados. Criada por estatísticos, em 1993 ela vem se tornando alplamente utilizada na academia não só para pesquisas nas exatas, mas também nas ciências humanas, como na ciência política, economia, etc. Ela também tem uma entrada em empresas ao lado do SQL e Python.

Instalando o R e o RStudio

Antes de tudo, vamos nos certificar de que você possui o R e o RStudio instaldos no seu computador. O R pode ser baixado aqui. Instale a versão equivalente com o seu sistema operacional. Após esse processo, você deve ser capaz de iniciar o R e obter essa tela.

knitr::include_graphics("r-project-7840-3.jpg")

É possível utilizar essa interface para programar em R. Contudo, em geral, preferimos utilizar o RStudio, já quele oferece uma carinha mais limpa e amigável, além de possuir diversas funções bem úteis durante a análise de dados. Para instalá-lo, você pode clicar aqui. Ao instalá-lo, você obterá essa tela:

knitr::include_graphics("")

Nossas primeiras linhas de código

Operações aritméticas

Como o R funciona? O R é conhe Todo código escrito no console do R é avaliado pelo interpretador e o resultado é devolvido para você.

Vamos testar isso com algumas operações aritméticas básicas.

1 + 1
2 - 1
5 * 5
9 / 3

Variáveis

Porém, isso não parece muito eficiente. E se quiséssemos guardar uma informação para acessá-la posteriormente? Para isso, podemos utilizar variáveis.

x <- 2

x * 2
x <- 3

x / 3

Abrindo tabelas no R

Entretando, não queremos fazer apenas isso com o R. O real poder dele aparece durante a análise de dados. Vamos começar carregando um banco de dados no R. Para isso, iremos utilizar o pacote readr do tidyverse

Mas o que são pacotes e o que é o tidyverse? Um pacote contém um conjunto de funções desenvolvidas por outros usuários a fim de realizar uma determinada tarefa. Funções realizam alguma operação sobre um determinado objeto e nos devolvem esse resultado. Por sua vez, o tidyverse diz respeito a um conjunto de pacotes criados para facilitar a nossa vida durante a análise de dados. Nos últimos anos, o tidyverse revolucionou a maneira que se faz análise no R. Todo o nosso curso irá utilizar o tidyverse quando possível.

Agora que sabemos o que é um pacote e uma função. Como carregar um pacote no R? Primeiro precisamos instalá-lo com a função install.packages() e depois carregá-lo com o comando library().

install.packages("tidyverse")

library(tidyverse)

Uma vez feito isso, podemos utilizar o comando read_csv para ler um arquivo .csv e transformá-lo em um data.frame. Preste atenção pois existe um outro comando read.csv. Estamos utilizando aquele com o _ (underline). Nesta aula, iremos trabalhar com um banco de dados de Pokemons! Você pode baixá-lo aqui. O banco original pode ser acessado no Kaggle.

read_csv("pokemon.csv")

Para um momento para entender o que aconteceu. Essa é a maneira mais interessante de abrir um banco de dados? Qual ação podemos associar a abertura do banco de tal maneira que possamos reutilizá-lo ao longo de nossa análise?

Se você pensou em variáveis, acertou! Sempre devemos salvar bancos e outros dados dentro de variáveis caso haja interesse um utilizá-los continuamente durante a nossa análise.

banco <- read_csv("pokemon.csv")

Pausa para explicação: mas o que são data frames e variáveis?

Data frames é uma estrutura de dados com objetivo de organizar tabelas no R. Ele é bastante parecida com planilhas de Excel.Podemos imaginá-lo como um conjunto de colunas ordenadas, sendo que cada coluna representa uma variável, um atributo, das nossas insformações. No nosso caso, as colunas possuem variáveis sobre cada um dos 801 pokemons.

As variáveis podem ser divididas em dois tipos:

  1. Variáveis categóricas: representam características que podem ser descritas em categorias (gênero, nacionalidade, nível de satisfação, etc.). Elas podem ser nominal, ou seja, as categorias não possuem uma ordem intrísica (gênero, nacionalidade), ou ordinal, as categorias possuem uma ordem (nível de satisfação).

  2. Variáveis quantitativas: são representadas por números e, em geral, podem ser do tipo discretas ou contínuas. As discretas são variáveis relacionadas a contagens (número de gols, número de vitórias, número de alunos, etc.). Já as contínuas fazem referências a fenômenos que podem possuir, em tese, infinitos valores (altura, peso, renda, etc.).

Fique atento pois muitas vezes iremos nos referir a variáveis quantitativas apenas como contínuas. Contudo, isso é uma aproximação e não necessariamente é verdade para todos os casos.

De volta para as análises!

Agora que temos o nosso banco salvo em uma variável, podemos começar a extrair algumas informações. Vamos começar pelo básico. Que tal dar uma olhada por cima do banco? Para isso, utilizamos a função head(). Ela extrai e imprimi na nossa tela as primeiras linhas do nosso banco.

head(banco)

Outra função que podemos utilizar para ter uma noção geral do nosso banco é a glimpse()

glimpse(banco)

Quais informações chamam a sua atenção?

Podemos ver diversas informações, como nome (name), pontos de vida (hp), pontos de ataque (attack), pontos de defesa (defense), entre outras informações.

Contudo, olhar o banco por inteiro quase nunca é um processo eficiente de análise. Nós sempre queremos resumir as informações presentes no nosso banco de dados de alguma maneira. Em geral, uma forma de fazer isso é por meio de estatísticas descritivas (média, desvio padrão, correlação, quartis, etc.). Por exemplo, qual a média de pontos de vida para todos os pokemons? Quais categorias de pokemons são mais frequentes?

mean(banco$hp)

Pausa para explicação: por que o $?

Você entendeu porque utilizamos o $ aqui? Lembra que o data.frame nada mais é do que um conjunto de colunas uma atrás da outra? Então, com o $ podemos acessar uma dessas colunas e calcular, por exemplo, a média dos valores presente nela. Como queremos a média dos pontos de vida, utilizamos banco$hp. Em outro caso, poderíamos tirar a média dos pontos de ataque. Para isso, utilizaríamos banco$attack.

De volta para as análises

Vamos agora ver a distribuição dos tipos de pokemons (type1).

table(banco$type1)

Legal, não? Porém, a tabela não está organizada em ordem crescente nem decrescente. Podemos concertar isso com uma função chamada sort().

tabeça_type1 <- table(banco$type1)
sort(tabeça_type1)

Bem melhor!

Ainda falta muita coisas para vermos durante o nosso curso, mas você já aprendeu a abrir um banco de dados e a gerar estatísticas descritivas.

Gráficos

Números são legais e normalmente trazem insights sobre a distribuição dos nossos dados. Contudo, durante uma análise, gráficos são extremamente poderosos uma vez que informam sobre a dispersão e a centralidade dos nossos valores com um simples olhar.

É possível criar gráficos no R sem utilizar pacotes externos. Entretanto, o ggplot2 é muito poderoso e nos permite fazer praticamente qualquer coisa, ao estabelecer uma gramática para dispor informações. O objetivo da aula de hoje não é avaliar a fundo as funcionalidades desse pacote. Logo tente apenas entender a linguagem para alguns gráficos simples.

Que tal observar a distribuição dos dados acessados anteriormente?

Variáveis contínuas

Uma maneira de fazer isso

ggplot(banco,
       mapping = aes(x = hp)) +
  geom_histogram()

Variáveis categóricas

Por outro lado, para variáveis categóricas, podemos utilizar gráficos de barras.

ggplot(banco, mapping = aes(x = type1)) + 
  geom_bar()

Exercícios

  1. O que é uma função? O que é um pacote?

  2. Em que devo guardar um valor para que eu possa acessá-lo posteriormente?

  3. Escolha 2 variáveis categóricas e 2 variáveis contínuas que te chamem atenção. Agora, retire algumas estatísticas descritivas (média, desvio padrão, etc.) e faça um gráfico de acordo o tipo da variável.