Aulas iniciais e primeira lista de exercícios

Introdução

Esta nota tem por objetivo exercitar o ferramental básico para entender comandos que serão necessários nas próximas aulas1. A maior parte dos conteúdos serão relacionados às funcionalidades do R que são úteis para cientistas sociais. O curso não supõe conhecimento prévio de R, ainda que contatos anteriores permitirão um avanço mais rápido e concreto no curso.

Trata-se de um trabalho experimental e inicial, que foi desenvolvido a partir de minha experiência concreta. Por favor, me indique eventuais erros e incongruências. Além disso, há trabalhos mais bem qualificados e em que me baseio para elaborar esses exercícios, como Wickham and Grolemund (2016), Wickham (2015) e Wickham (2014), cuja leitura é recomendada. Os textos em português de Vale (2021) e Saulo Guerra et al. (2021) também são fontes recomendadas de consulta.

1 Por que usar o R?

Para quem nunca teve contato com alguma linguagem de programação, este início costuma ser pouco amigável. Entretanto, há algumas vantagens em relação a editores de planilha como Excel ou Calc para acesso e manipulação de dados e elaboração de gráficos e apresentações:

  1. Os passos são descritos e registrados sequencialmente;

  2. A estrutura incremental (linha por linha) ajuda na identificação de erros;

  3. A discriminação dos passos auxilia na memória da pesquisa; e

  4. O script permite reprodutibilidade em outras pesquisas, contribuindo para o avanço da ciência.

Portanto, todo o esforço inical e prática constante2 permitem uma adaptação rápida à linguagem e o acesso a dados estatísticos nacionais e internacionais que auxiliam na aprendizagem dos temas tratados na disciplina. Essas habilidades também podem ajudar para trabalhos de outras disciplinas ou de conclusão de curso.

2 Download e Instalação

2.1 R

O primeiro passo é baixar e instalar o R em seu computador a partir de https://cran.r-project.org/. Faça o download de uma versão base adaptada ao seu sistema operacional. É recomendável utilizar uma versão 4.0 ou superior, para evitar problemas com pacotes no futuro. Instale o progama em seu computador, seguindo as configurações-padrão.

2.2 RStudio

Após os passos indicados na seção 2.1, deve-se baixar e instalar o RStudio, cuja versão gratuita para desktop está disponível em: https://www.rstudio.com/products/rstudio/download/. Com isso, tem-se uma interface mais organizada e ferramentas auxiliares para o uso do R.

Caso tenham dúvidas na instalação, este vídeo a partir de 3min:30s pode ser útil: https://www.youtube.com/watch?v=WVogdSlk7gY.

3 Primeiros comandos

Tradicionalmente, o primeiro programa que se faz em uma nova linguagem é dizer Alô, mundo!. No R, a função print() faz esse trabalho. Caso o comando esteja em um Rscript, basta selecionar ou manter o cursos sobre a(s) linha(s) que se deseja executar e acessar o comando “Run,” cujo atalho é CTRL+ENTER.

  # O resultado será exibido no console
print("Alô, mundo!")

O estilo de programação usado aqui e nos Rscripts segue parte das orientações para indentação e organização dos códigos apresentados por Hadley Wickham (2021). Como o R apresenta estrutura mais flexível, seguir padrões contribui para que seu código seja lido com mais facilidade por outras pessoas.

3.1 Ajuda do programa

O R apresenta uma série de funções que são utilizadas para executar ações desejadas. Basta assinalar o nome da função sem parênteses, precidido de uma interrogação ?. Em geral, encontram-se a estrutura da função, seus atributos, detalhes e alguns exemplos. Este é um expediente que deve ser usado com frequência, especialmente por quem está tendo seus primeiros contatos com a linguagem

  # Um painel no RStudio exibirá ajuda sobre a função de concatenar
?c

3.2 Começando um novo projeto

Um fluxo de trabalho interessante é iniciar um novo projeto no R para cada trabalho. Com isso, os arquivos ficarão todos organizados numa mesma pasta, facilitando a importação de dados e salvamento de arquivos. Isso pode ser feito no RStudio a partir de File > New Project. Ademais, é possível consultar o diretório de trabalho com a função getwd():

  # Descobre onde o projeto está trabalhando
getwd() 

4 Exercícios parte I

Considerando o que foi dito acima e os livros indicados no plano de curso, resolva os exercícios abaixo.

4.1 Noções básicas de programação

Resolva as seguintes questões envolvendo noções básicas. A parte teórica está explicada em Vale (2021, seções 1-10) e Saulo Guerra et al. (2021, seções 1-2). Parte dos exercícios é cumulativa, de modo que é recomendável resolver os exercícios de modo sequencial e integral. Também é interessante sejam resolvidos em um novo Rproject e um novo Rscript.

  1. Crie seu primeiro programa na linguagem R, conforme explicado acima. Execute a linha do código com os comandos Ctrl + Enter (ou Cmd+Return para Mac).

  2. A partir da ajuda e exemplos, busque as seguintes informações:

    1. Ajuda para as funções sum(); colSums(); sqrt(); lm(); setwd(); cbind(); data.frame().

    2. Exemplos das funções sum e colSums.

  3. Descubra em qual diretório seu projeto está lendo e salvando arquivos.

  4. Crie os seguintes objetos com nomes distintos:

    1. Número de disciplinas que está cursando neste semestre.
    2. O nome do(a) professor(a) que está lecionando armazenado em um objeto com o mesmo nome da disciplina cursada.
  5. Escreva programas que manipulem as operações matemáticas básicas pelo menos uma vez com os números 50 e 65.

  6. Crie uma sequência de 2000 a 2021 de duas formas distintas.

  7. Repita a sequência criada na questão anterior por três vezes.

  8. Quais são os resultados das seguintes análises lógicas: TRUE & FALSE | FALSE, TRUE | FALSE | FALSE, TRUE | FALSE & FALSE e (TRUE | FALSE) & FALSE? Teste no R se você acertou o resultado.

  9. Crie vetores que contenham as seguintes informações do seu atual semestre. Dê nomes intuitivos para:

    1. Os nomes das disciplinas
    2. A quantidade de estudantes em cada disciplina
    3. Os códigos de horários de acordo com o SIGAA
    4. As menções que você espera alcançar
  10. Faça as seguintes cálculos com o vetor do número de estudantes do exercício anterior:

    1. Qual é a média de estudantes em suas turmas?
    2. Suponha que cada estudante receba 60 horas complementares por disciplina. Quantas horas seriam disponibilizadas em cada turma?
    3. Quantas horas seriam disponibilizadas em todas as turmas juntas?
  11. Reescreva o vetor do número de estudantes, colocando as quantidades entre aspas. Qual é a classe do vetor criado?

  12. Desafio: qual é a posição no vetor das turmas que têm mais estudantes do que a média de todas as turmas?

  13. Utilize a função data.frame para criar uma tabela com as informações da questão anterior. Nomeie as colunas com nomes indicativos do conteúdo.

  14. Impute a tabela gerada na questão anterior para um objeto chamado meu_sigaa. Visualize a tabela em outra aba do RStudio.

  15. A partir da tabela meu_sigaa:

    1. Leia apenas a primeira linha.

    2. Leia apenas a primeira coluna, filtrando por seu nome (atente-se para erros de leituras de caracteres especiais nos nomes das colunas).

    3. Retorne o número de estudantes da disciplina de Introdução à Economia Política.

  16. Certifique-se de que instalou corretamente os seguintes pacotes: tidyverse, ggthemes, scales, writexl, sidrar e devtools.

  17. Use a ajuda do R para acessar informações sobre as funções get_sidra e info_sidra.

  18. Busque informações sobre a tabela 6320, depositada no Sistema IBGE de Recuperação Automática - SIDRA.

4.2 Importação de dados

Sobre importação dos dados, serão tratados tanto dados baixados manualmente de alguma fonte externa ou acessados internamente por meio de algum pacote específico capaz de acessar bancos de dados de interesse.

A parte teórica está explicada em Vale (2021, seções 11 e 13) e Saulo Guerra et al. (2021, seção 3). Lembre-se de carregar os pacotes sempre que iniciar uma nova sessão no R.

  # Pacotes para esta questão
library(readxl)         # Carregamento tabelas do Excel
library(sidrar)         # Repositório IBGE
library(wid)            # World Inequality Database 


  # Pacotes úteis para as próximas questões
library(tidyverse)      # Organização das tabelas e elaboração de gráficos
library(ggthemes)       # Interfaces gráficas adicionais
library(scales)         # Ajuste de escala dos gráficos
library(writexl)        # Salvamento tabelas em formato Excel
library(zoo)            # Ajuste de datas

Após, resolva as seguintes questões.

  1. Acesse o site do IBGE, localize uma estatística social ou econômica de seu interesse, baixe um arquivo em formato .xls ou .xlsx e salve na mesma pasta em que está seu projeto. Em seguida:

    1. Escreva uma função para fazer a leitura da tabela a partir do caminho relativo em seu computador.

    2. Indique a planilha a ser importada utilizando o seu nome no arquivo original.

    3. Crie um vetor com o(s) nome(s) das colunas e importe a tabela com o(s) novo(s) nome(s).

    4. Dê um nome sugestivo à tabela importada, atribuindo-a a um objeto dentro do R.

  2. Desafio: acesse o Sistema Gerenciador de Séries Temporais do Banco Central do Brasil (BCB) e baixe uma série organizada pelo próprio BCB em formato .csv. Salve a tabela na mesma pasta em que está seu projeto. Em seguida:

    1. Escreva uma função para fazer a leitura da tabela a partir do caminho relativo em seu computador.

    2. Crie um vetor com o(s) nome(s) das colunas e importe a tabela com o(s) novo(s) nome(s).

    3. Possivelmente o tipo das colunas não condiz com os dados efetivamente. Reescreva a função, indicando os tipos das colunas.

    4. Dê um nome sugestivo à tabela importada, atribuindo-a a um objeto dentro do R.

  3. Utilizando o pacote sidrar, localize informações sobre alguma série coletada pelo IBGE e relacionada ao mercado de trabalho. Em seguida:

    1. Consulte as séries disponíveis com a função própria do pacote a partir de uma palavra-chave.

    2. Acesse as informações da série de interesse no próprio console ou no navegador de internet.

    3. Faça um teste importando a série apenas pelo seu número.

    4. Refaça o procedimento do item c, agora especificando os demais parâmetros de interesse e atribuindo a um objeto específico.

  4. Consulte o dicionário de códigos da World Inequality Database e importe com a função download_wid os seguintes dados:

    1. Desafio: coeficiente de GINI da distribuição de renda para o Brasil e para algum outro país a sua escolha, para fazer a comparação. Impute a um objeto.

    2. Fração (share) da renda apropriada pelo 1% mais rico e pelos 50% mais pobres do ponto de vista dos indivíduos em um país da América Latina, um da Europa e um da Ásia.

Referências

Hadley Wickham. 2021. The tidyverse style guide. https://style.tidyverse.org/.
Saulo Guerra, Paulo Felipe de Oliveira, Robert McDonnell, and Sillas Gonzaga. 2021. Ciência de Dados com R - Introdução. Instituto Brasileiro de Pesquisa e Análise de Dados. http://sillasgonzaga.com/material/cdr/.
Vale, Vinícius A. 2021. Introdução ao R.” https://viniciusavale.com/IntroR/Intro-R.html.
Wickham, Hadley. 2014. Tidy Data.” Journal of Statistical Software 59 (10): 1–23. http://www.jstatsoft.org/.
———. 2015. Elegant Graphics for Data Analysis. http://had.co.nz/ggplot2/book.
Wickham, Hadley, and Garrett Grolemund. 2016. R for data science: import, tidy, transform, visualize, and model data. " O’Reilly Media, Inc.".

  1. A primeira elaboração desses materiais se deu para o curso de Introdução à Economia Política, oferecida por mim no Departamento de Economia da Universidade de Brasília no 1o semestre de 2021↩︎

  2. Uma boa estratégia é tentar adaptar o R às rotinas próprias, acadêmicas ou não, em substituição ao Excel, por exemplo. Além de ser uma ferramenta gratuita, pode ser usada como editor de texto, de apresentações e de gráficos. Entre outras razões, tais funcionalidades fazem com que o software seja bastante utilizado por estatísticos e cientistas sociais em geral.↩︎

Rafael de Acypreste
Rafael de Acypreste
Servidor Público

Meus interesses de pesquisa se concentram nas relações entre automação e emprego.