R e RStudio


***

Parte do livro Introdução à análise de dados com R. Este trabalho está em andamento.  Volte para ver atualizações

Quer fazer sugestões? Deixe um comentário abaixo ou, se você sabe utilizar o github, acesse aqui. Não copie ou reproduza este material sem autorização.

***

R e Rstudio

Instalação

Instalar o R e o RStudio é bastante fácil, pois ambos já vêm com distribuições compiladas para Windows, Mac OS ou Linux. O R é gratuito e está disponível no site do CRAN (The Comprehensive R Archive Network). O RStudio tem uma versão desktop gratuita disponível em seu site. Esses são os dois principais softwares para acompanhar este livro.

Além disso, para ter um ambiente completo de desenvolvimento no R, você também precisará de uma distribuição de Latex (como o MikTex para Windows ou MacTex para Mac); e, caso você esteja utilizando o Windows, a versão mais recente do RTools (para criar pacotes e integrar o R com C++).

Se você ainda não tem esses softwares em seu computador, baixe agora as versões compatíveis com seu sistema operacional e siga as instruções de instalação.

Este não é um livro para ser apenas lido e sim para ser acompanhado digitando os códigos de exemplo – ou, em último caso, copiando e colando. Os capítulos apresentam códigos em R com o resultado esperado, conforme a figura abaixo.

estrutura

Ao final da maior parte dos capítulos, faremos muitos exercícios para a consolidação do conteúdo. Todos os exercícios terão uma resposta sugerida. Todavia, recomendo que você tente resolver sozinho antes de olhar a resposta.

R Gui

A instalação padrão do R vem com uma interface gráfica para o usuário (Graphical User Interface – GUI). No Windows, você encontrará o R no menu iniciar e no Mac você verá o ícone do R entre seus aplicativos. Nós não vamos utilizar o R Gui durante o livro. Entretanto, faremos um brevíssimo tour antes de passarmos para o RStudio.

Abra a interface gráfica do R em seu computador.A primeira tela que você verá é a do console. Agora, abra, também, uma tela de editor de texto em “file” -> “new script”.

RGUI

Escreva os seguintes comandos no editor de texto e aperte CTRL+R (ou CMD+ENTER no Mac).

1+1

O comando será enviado para o console e você verá o resultado. Você poderia ter digitado o comando diretamente no console, mas isso não é uma boa prática. Acostume-se a sempre escrever em seu script (script é como chamamos o documento com os códigos de R que você produz).

## [1] 2

Escreva os seguinte comandos no editor de texto e repita o procedimento (CTRL+R):

plot(1:10)

Uma nova tela será aberta com o gráfico.

plot of chunk unnamed-chunk-4

Por enquanto é só isso. Saia do R Gui escrevendo q() no console ou apertando ALT+F4. O R irá perguntar se você deseja salvar a sua área de trabalho e o script. Clique em não para os dois casos.

Estamos saindo do R Gui pois agora iremos trabalhar no RStudio.

RStudio

Apesar de o R vir com uma interface gráfica interessante, existe um Ambiente de Desenvolvimento Integrado (Integrated Development Environment- IDE) chamado RStudio, com várias funcionalidades e gratuito.

O RStudio possui algumas vantagens em relação ao R Gui:

  • Highlight do código;
  • Autocomplete;
  • Match automático de parenteses e chaves;
  • Interface intuitiva para objetos, gráficos e script;
  • Criação de “projetos” com interface para controle de versão;
  • Facilidade na criação de pacotes;
  • Interação com HTML, entre outras.

Abra o RStudio em seu computador e inicie um novo Script em “File” -> “New File” -> “New RScript”. Você também pode fazer isso com CTRL + SHIFT + N ou acessando o botão abaixo.

rscript

Podemos dividir a tela do RStudio em quatro grande áreas:

  • Script: A tela superior esquerda do RStudio é o editor de texto onde você vai escrever seus Scripts. Ele possui code highlighting entre outras funcionalidades.
  • Console: No canto inferior esquerdo fica o console. O console nada mais é do que uma seção aberta de R, em que os comando são executados.
  • Área de trabalho e histórico: Ficam no canto superior direito. Os objetos criados e o histórico dos comandos podem ser acessados ali.
  • Arquivos, Gráficos, Pacotes, Ajuda: Ficam no canto inferior direito. Você pode explorar pastas e arquivos diretamente do RStudio na aba “Files”; os gráficos que forem feitos apareceram na aba “Plots”. Os pacotes instalados em sua máquina estão listados em “Packages”. As ajudas das funções aparecem em “Help”. E o “Viewer” serve para visualização de páginas em HTML e JavaScript.

RStudio1

Comandos pelo Script

Como já dito, acostume-se a escrever o código no Script ao invés de ficar escrevendo diretamente no console. Para começarmos a nos familizarizar com o RStudio, escreva o código abaixo no Script:

1+1

E aperte CTRL+ENTER (CMD+ENTER no mac). Isso envia o comando para o console e o resultado é exibido logo abaixo.

## [1] 2

Agora escreva o seguinte código no Script.

# Gráfico dos números de 1 a 10
plot(1:10)

O primeiro comando # Gráfico dos números de 1 a 10 é, na verdade, um comentário. Comentários nos scripts do R são seguidos do símbolo #, e tudo que estiver após # não será executado. É uma boa prática comentar seu código! Isso faz com que ele seja de fácil manutenção, tanto para você mesmo (acredite, depois de um tempo você não lembrará o que fez) quanto para seus colegas.

O segundo comando diz ao R para plotar um gráfico. Aperte CTRL+ENTER nas duas linhas. O gráfico aparecerá no canto inferior direito do RStudio.

RStudio2

Agora digite o seguinte comando no editor e aperte CTRL+ENTER:

# atribuindo o valor 15 a x
x <- 15

Atribuímos o valor 15 à variável x. Note que isso aparece no canto superior direito do RStudio.

RStudio3

Autocomplete e documentação

O RStudio tem autocomplete. No começo do seu aprendizado isto será bastante útil. Escreva apenas plo e aperte Tab. O RStudio sugerirá diversas possibilidades de comandos e objetos que se iniciam com plo:

autocomplete

Isso também funciona dentro de uma função para sabermos alguns dos argumentos disponíveis. Escreva plot() e aperte Tab. Note que os argumentos da função plot como x, y, ou type apareceram.

autocomplete2

Além do autocomplete, outra forma de enteder uma função é por meio da documentação do R. Para acessar a ajuda de uma função, utilize o comando ? ou help() seguido do nome da função.

?mean
help(mean) # equivalente a ?mean

HELP

Note que no cando direito do RStudio apareceu uma página de ajuda sobre a função mean(). A documentação das funções no R seguem mais ou menos este mesmo padrão.

A primeira coisa que vemos é mean {base} indicando que se trata da função mean() do pacote base. Em Description há uma breve descrição do que é a função. Logo abaixo, em Usage vemos como utilizar o comando e, em Arguments, os parâmetros disponíveis. A seção Value explica o que a função mean() retorna. Em seguida temos algumas referências, funções relacionadas e os exemplos.

Honestamente, é provável que no início você tenha dificuldades de entender a documentação do R, pois você não saberá o significado de muitos termos. Mas, mesmo assim, não deixe de consultá-la. E, sempre que hover, brinque com os exemplos.

HELP2

Às vezes você não saberá exatamente o nome da função. Por exemplo, suponha que você queira gerar números aleatórios de uma distribuição normal multivariada, mas não se recorda o comando. Nestes caso, é possível realizar uma busca por texto.

??"normal distribution"
help.search("normal distribution") # equivalente a ??"normal distribution"

Note que, entre os diversos resultados, aparece a função do pacote MASS, mvrnorm(), justamente o que você buscava.

HELP3

Teclas de atalho

O RStudio possui muitas teclas de atalho que facilitam sua vida. Você pode ver a lista completa em “Help” -> “Keyboard Shortcuts”. Além do CTRL + ENTER, algumas teclas de atalho bastante úteis, que valem a pena você aprender agora no começo são:

  • CTRL + 1: Passa o cursor para o script;
  • CTRL + 2: Passa o cursor para o console;
  • SETA PARA CIMA (no console): acessa o histórico de comandos anteriores.
  • CTRL + ALT + SETA PARA ESQUERDA OU DIREITA: Navega entre as abas de script abertas (abra um novo script antes para testar).
  • CTRL + SHIFT + P: “Previous command”, roda o último comando executado;
  • CTRL + SHIFT + ENTER: “Source”. Executa o Script inteiro;
  • CTRL + S: Salva o Script;

Muitos desses atalhos podem ser acessados via mouse (mas tente se acostumar a utilizar o teclado).

RStudio4

Outros atalhos interessantes são:

  • CTRL + L: Limpa o console;
  • CTRL + F: Busca (e substituição). Aceita REGEX (veremos REGEX posteriormente);
  • CTRL + SHIFT + K: Compila “Notebook” em PDF, HTML ou Word (para isso você precisa ter uma distribuição de Latex e alguns pacotes instalados);
  • ALT + SHIFT + K: Veja a lista de atalhos.

RStudio5

Pacotes

A principal forma de distribuição de códigos no R é por meio de pacotes. Um pacote pode ser entendido como um conjunto de códigos auto-contido que adiciona funcionalidades ao R.

Em termos mais simples, pacotes são funções do R escritas pelos usuários para resolver vários problemas, como: (i) ler e salvar uma planilha de Excel; (ii) rodar um modelo de random forest; (iii) analisar redes sociais etc. Atualmente existem mais de 6.000 pacotes de R. Ou seja, há pelo menos um pacote para quase qualquer problema de análise de dados que você imaginar. Veja essa pequeno vídeo que o Roger Peng fez sobre pacotes no R.

Para carregar um pacote, use a função library().

Carregar um pacote permite que você chame estas funções diretamente. Por exemplo, a função mvrnorm, que gera números aleatórios de uma normal multivariada, está no pacote MASS. Se você tentar chamar a função sem carregar o pacote, o R não a encontrará.

Sigma <- matrix(c(10,3,3,2),nrow=2,ncol=2) # Matriz de Variância-Covariânccia
mu <- c(1, 10) # Médias
x <- mvrnorm(n=100, mu, Sigma) # Tenta gerar 100 obs, mas dá erro
## Error in eval(expr, envir, enclos): não foi possível encontrar a função "mvrnorm"

Após carragar o pacote, o comando funciona normalmente:

library(MASS) # Carrega pacote
x <- mvrnorm(n=100, mu, Sigma) # Agora funciona

Para ver quais pacotes estão carregados, utilize a função search(). Note que o pacote MASS esta lá.

search()
##  [1] "GlobalEnv"         "package:MASS"       "package:knitr"
##  [4] "package:RWordPress" "tools:rstudio"      "package:stats"
##  [7] "package:graphics"   "package:grDevices"  "package:utils"
## [10] "package:datasets"   "package:methods"    "Autoloads"
## [13] "package:base"

Para descarregar um pacote, utilize a função detach() seguido de package:nome_do_pacote.

detach(package:MASS)

Às vezes pacotes tem funções com o mesmo nome. Neste caso, se ambos forem carregados, a função que prevalece é a do pacote que foi carregado por último. Uma forma de resolver este confilto é chamar a função utilizando o nome do pacote e o operador ::. Neste caso não haverá ambiguidade e o R saberá exatamente que função utilizar.

# estamos dizendo ao R para buscar a função no pacote MASS
x <- MASS::mvrnorm(n=100, mu, Sigma)

Você também pode carregar ou descarregar pacotes pelo menu do canto inferior direito do RStudio, clicando na caixa ao lado do nome do pacote.

pacotes

Para instalar um pacote, use a função install.packages().

Por exemplo, o pacote dplyr é muito utilizado para manipulação de dados e iremos estudá-lo mais a frente. Para instalá-lo, digite o seguinte comando.

install.packages("dplyr")

Para deletar um pacote, utilize a função remove.packages() e para atualizar um pacote, a função update.packages().

CRAN

Grande parte dos pacotes do R estão centralizados em um repositório chamado CRAN (The Comprehensive R Archive Network), com diversos espelhos ao redor do mundo.

Tire um tempo agora para explorar um pouco o site oficial do R, www.r-project.org, e do CRAN, cran.r-project.org. Preste atenção principalmente nos seguinte itens:

—- (detalhar) —-

—- Ajuda online —-

—- Exemplo mínimo de uma análise de dados —-

Novo livro de R chegando na praça!


Eu e o Edson Bastos resolvemos transformar alguns materiais de introdução à análise de dados com o R em um livro.

O livro será escrito aqui mesmo no blog, desde os rascunhos até a finalização da primeira edição em e-book/impressa. A intenção é soltar um material novo a cada uma ou duas semanas.

O material será publicado aos poucos , em “pedaços”, por meio dos posts – e não necessariamente em ordem. Portanto, para ver os capítulos do livro em sua ordem correta, clique no link à direita “Introdução à análise de dados com o R”.

Apesar de ser um livro introdutório, a idéia é que, ao final da leitura, você domine o R suficientemente para se sentir confortável com a linguagem e possa se desenvolver sozinho nas áreas que tenha mais interesse (econometria, DSGE, análise de redes etc).

A estrutura do livro, provisória, é a seguinte:

  • Introdução e motivação
  • R e RStudio;
  • Operadores e Objetos Básicos;
  • Funções;
  • Lógica de Programação;
  • A família apply;
  • Debugging;
  • Textos, Fatores e Datas;
  • Manipulação de Data Frames;
  • Entrada e Saída de Dados;
  • Manipulação de arquivos;
  • Gráficos Estatísticos;
    • Gráficos base
    • Introdução ao ggplot2
    • Introdução ao lattice
  • Tópicos de:
    • Testes Estatísticos, Regressões e Simulações;
    • Processamento em paralelo;
    • Integração com C++;
    • Documentos dinâmicos.

A idéia de escrever online é justamente para receber feedback de maneira dinâmica. Assim, se você tem interesse no tema, não hesite em comentar!

PS: cabe lembrar que este material é gratuito para você ler e estudar. Mas você não pode reproduzir este conteúdo sem autorização.

Livro de Nate Silver em promoção relâmpago, agora, na Amazon.com


Acabei de receber um email da Amazon sobre uma promoção relâmpago do livro do Nate Silver, The Signal and the Noise: Why So Many Predictions Fail — but Some Don’t. Apenas por 12 horas, o livro está com 75% de desconto, (6,99 dólares a versão hardcover). Para quem pensava em comprar, eis uma boa oportunidade.

falamos sobre o Nate Silver no blog aqui e para quem procura uma resenha do livro em português, deixo a do Luciano Sobral.

PS: quem estiver lendo somente agora, a promoção já se encerrou.

Livros em promoção (Kindle): Big Data e Manual de sobrevivência na universidade


Três livros sobre Big Data, da O’Reilly, estão gratuitos na versão Kindle:

Disruptive Possibilities: How Big Data Changes Everything;

Big Data Now: 2012 Edition;

Real-Time Big Data Analytics: Emerging Architecture.

Obviamente, ainda não tive tempo de ler, mas mesmo assim não poderia deixar de divulgar e já baixei para conferir.

E o livro do Leo Monastério, Manual de sobrevivência na universidade: da graduação ao pós-doutorado, também se encontra, por tempo limitado, gratuito na versão Kindle!

Divulgando – Manual de sobrevivência na universidade: da graduação ao pós-doutorado


Se você não aproveitou na vez passada, não deixe passar novamente! Hoje, você baixa de graça, para o Kindle, o Manual de sobrevivência na universidade: da graduação ao pós-doutorado do Leo Monasterio.

 

Guias e dicas para alunos de mestrado e doutorado


Na semana passada divulgamos o Manual de sobrevivência na universidade: da graduação ao pós-doutoradodo Leo Monasterio. Nesta semana, Dave Giles faz um levantamento de guias e dicas para os alunos de mestrado e doutorado que valem a pena ser compartilhados:

Para você que está fazendo mestrado ou doutorado e se sentia perdido, eis bastante material para consulta.

Manual de sobrevivência na universidade: da graduação ao pós-doutorado


Ainda não li, mas já peguei o meu. Leo Monasterio divulga seu livro Manual de sobrevivência na universidade: da graduação ao pós-doutorado.

Dentre os tópicos abordados, os seguintes me chamaram a atenção:

- Como ser um ninja no Google Acadêmico
– Técnicas de sobrevivência aplicadas às reuniões
– Qual a diferença entre ciência e picaretagem?
– Como descobrir se um concurso para professor é armado?

E, apenas hoje, você baixa de graça para o Kindle.