Chapter 1 Módulo I
1.1 Breve Histórico
O R é uma linguagem e um ambiente para programação estatística que roda em diversas plataformas *NIX, no Windows e MacOS (R-project.org), podendo ser baixado e distribuído gratuitamente de acordo com a General Public License (GPL).
A origem do nome próprio R remonta à linguagem e S, desenvolvida por John Chambers entre 1975 e 76 na Bell Labs (antiga AT&T e atual Lucent Technologies) – mesmo local de origem de importantes inovações na área de computação, como o sistema operacional UNIX, a linguagem de programação C, os transístores, dentre outras.
Em contraponto à implementação comercial da linguagem S – o S-PLUS, Ross Ihaka e Robert Gentleman do departamento de Estatística de Auckland - Nova Zelândia criaram, em 1995, a linguagem R como uma alternativa livre e gratuita à S. O próprio nome R vem de um jogo com a linguagem S e as iniciais dos nomes dos autores, Ross e Robert.
1.2 Instalação do R
A instalação do ambiente R é fácil de ser realizada em qualquer sistema operacional. No windows, os passos são:
- 1 Acesse o site https://www.r-project.org/.
- 2 Clique em download R ou CRAN mirror.
- 3 Escolha o repositório (Comprehensive R Archive Network - CRAN) de preferência.
- 4 Clique em Download R for Windows.
- 5 Clique em base.
- 6 Baixe o executável de instalação, clicando em Download R X.X.X for Windows.
- 7 Execute o arquivo baixado para a instalação do software.
A janela default do R no Windows é bastante simplória. Pode-se observar que é dividida em uma janela maior, chamada de R GUI (R Graphical User Interface) – ou seja, a interface gráfica do R; e uma janela R Console. Nessa janela, tem-se uma descrição sobre a versão utilizada e algumas dicas sobre a linguagem. O sinal >
indica a linha de comando ou prompt, que é onde digitam-se os comandos a serem rodados pelo interpretador.
Aqui, cabe uma distinção entre a linguagem R e algumas outras linguagens de programação: a linguagem R é uma linguagem interpretada, ou seja, a execução do código ocorre juntamente com a análise do código, como se fosse on-demand. Digita-se o código, dá-se o comando de execução e imediatamente o interpretador reúne os comandos, os traduz para linguagem de máquina (ou linguagem de baixo nível) e transfere-os para o processador para execução. Outro exemplo de linguagem interpretada seria Python.
Nas linguagens compiladas, a análise de código ocorre em apenas uma fase – compilação – quando se analisa os dados e transforma-se o código-fonte em código-alvo. O código-alvo geralmente fica separado, em um arquivo executável, que será executado em um momento posterior.
1.2.1 Instalação do RStudio
Tendo em vista que a interface gráfica original do R é bastante modesta, existem diversos IDE ( Integrated Development Environment ) que reúnem várias ferramentas de apoio à programação e análise de dados, com o objetivo de facilitar a vida de seus usuários. O IDE mais utilizado para a linguagem R é o RStudio
Veja, a seguir, passos para instalação do RStudio no Windows:
- Acesse o site https://www.rstudio.com/.
- Clique em DOWNLOAD.
- Escolha a versão FREE e clique em DOWNLOAD RStudio for Windows.
Como se vê, a interface gráfica do RStudio é mais “amigável” do que a default do R. A janela está dividida em três partes: uma para Console, outra para Environment, History e Connections e mais outra para Files, Plots, Packages, Help e Viewer. Ao painel de Environment, History e Connections podem ser acrescentadas outras abas, dependendo do tipo de trabalho que você está desenvolvendo no R, como por exemplo a aba Presentations, quando se está produzindo slides ou a aba Build quando está construindo e testando um pacote. Os nomes em geral são autoexplicativos.
1.3 Funcionalidades Básicas do R e do RStudio
1.3.1 R como Calculadora
A forma mais básica de se utilizar o R é como uma calculadora. As operações aritméticas básicas são executadas com os seguintes operadores no R:
Operador | Operação |
---|---|
+ | adição |
- | subtração |
* | multiplicação |
/ | divisão |
^ ou ** | exponenciação |
x%%y | módulo resto |
x%/%y | quociente inteiro |
Seguem alguns exemplos, digitando no console, logo ao lado de >
, as seguintes operações:
2+1
## [1] 3
4-2
## [1] 2
2*3
## [1] 6
3/3
## [1] 1
3^2
## [1] 9
3**2
## [1] 9
5%%2
## [1] 1
5%/%2
## [1] 2
Perceba que ao lado de todas as repostas, apareceu [1]
. Os colchetes e o número 1 dentro indicam que aquela linha mostra o objeto resultante a começar pelo primeiro elemento deste. Isso acontece porque o R, sempre que possível, trabalha de forma vetorizada. O valor dentro de [ ]
indica a posição dentro do vetor de resposta do número logo a direita (resultado). Como em cada operação, a resposta é única, todos os valores estavam localizados na primeira posição do nosso vetor de resposta.
Isso vai ser bastante útil quando você quiser, por exemplo, aplicar uma operação matemática ou qualquer outra transformação a todas as entradas de uma coluna em uma tabela e imprimir o resultado no console. No output, o R vai quebrar o resultado em algumas linhas e esses números entre colchetes nos ajudarão a identificar a qual posição do vetor de resposta pertence o primeiro número de cada linha na saída impressa no console.
Teste por exemplo:
1:100 * 2
## [1] 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52
## [27] 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104
## [53] 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156
## [79] 158 160 162 164 166 168 170 172 174 176 178 180 182 184 186 188 190 192 194 196 198 200
Neste exemplo, o R optou por quebrar a multiplicação dos 100 números em grupos de 17 números nas 4 primeiras linhas e num grupo de 15 valores na última. Na primeira linha deste output, 2 é o elemento na posição 1 ([1]
) do vetor de resposta; na segunda linha, o número 36 é elemento se refere à posição 18 ([18]
) do vetor de resposta e assim por diante, até a última linha que começa no elemento de posição 89.
1.3.2 Operadores Lógicos
Você pode, ainda, realizar comparações lógicas no R. Abaixo estão relacionados alguns dos operadores lógicos que serão importantes nos primeiros módulos do curso. Outros serão apresentados nos demais módulos:
Operador | Operação |
---|---|
> | maior que |
>= | maior ou igual a |
< | menor que |
<= | menor ou igual a |
== | igual a |
!= | diferente de |
x&y | x E y |
x|y | x OU y |
Vejamos alguns exemplos:
2 > 1
## [1] TRUE
1009 >= 1009
## [1] TRUE
3 < 0.7
## [1] FALSE
3 <= 3.0001
## [1] TRUE
7 == 5
## [1] FALSE
4353.789 == 4353.7891
## [1] FALSE
8 != 13
## [1] TRUE
4353.789 != 4353.7891
## [1] TRUE
2 == 2 & 7 != 5
## [1] TRUE
2 == 2) & (7 != 5) (
## [1] TRUE
2 == 3) | (7 <= 5) (
## [1] FALSE
4353.789 != 4353.7891 | 7 >= 0.7
## [1] TRUE
Note que as respostas são, nestes exemplos, sempre um vetor lógico: TRUE
ou FALSE
.