-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy path02-rstudio.Rmd
195 lines (129 loc) · 9.79 KB
/
02-rstudio.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# RStudio {#rstudio}
O RStudio é sem dúvidas o mais completo ambiente de desenvolvimento para programação em R. Descubra aqui as funcionalidades do RStudio que nos permitem escrever códigos e analisar resultados de forma muito mais eficiente.
## Telas
Ao abrir o RStudio, você verá 4 quadrantes. Observe a figura abaixo.
```{r rstudio-editor, echo=FALSE, fig.align='center'}
knitr::include_graphics(rep("assets/img/rstudio/rstudio-editor.png"))
```
Esses quadrantes representam o **editor**, o **console**, o **environment** e o **output**. Eles vêm nesta ordem, mas você pode organizá-los da forma que preferir acessando a seção *Pane Layout* da opção `Global options...` no menu `Tools`.
O editor e o console são os dois principais painéis do RStudio. Passaremos a maior parte do tempo neles.
- **Editor/Scripts**: é onde escrevemos nossos códigos. Repare que o RStudio colore algumas palavras e símbolos para facilitar a leitura do código.
- **Console**: é onde rodamos o código e recebemos as saídas. O R vive aqui!
Os demais painéis são auxiliares. O objetivo deles é facilitar pequenas tarefas que fazem parte tanto da programação quanto da análise de dados, como olhar a documentação de funções, analisar os objetos criados em uma sessão do R, procurar e organizar os arquivos que compõem a nossa análise, armazenar e analisar os gráficos criados e muito mais.
- **Environment**: painel com todos os objetos criados na sessão.
- **History**: painel com um histórico dos comandos rodados.
- **Files**: mostra os arquivos no diretório de trabalho. É possível navegar entre diretórios.
- **Plots**: painel onde os gráficos serão apresentados.
- **Packages**: apresenta todos os pacotes instalados e carregados.
- **Help**: janela onde a documentação das funções serão apresentadas.
- **Viewer**: painel onde relatórios e dashboards serão apresentados.
## Atalhos
Conhecer os atalhos do teclado ajuda bastante quando estamos programando no RStudio. Veja os principais:
- **CTRL+ENTER**: roda a(s) linha(s) selecionada(s) no script. O atalho mais utilizado.
- **ALT+-**: cria no script um sinal de atribuição (<-). Você o usará o tempo todo.
- **CTRL+SHIFT+M**: (%>%) operador *pipe*. Guarde esse atalho, você o usará bastante.
- **CTRL+1**: altera cursor para o script.
- **CTRL+2**: altera cursor para o console.
- **CTRL+ALT+I**: cria um chunk no R Markdown.
- **CTRL+SHIFT+K**: compila um arquivo no R Markdown.
- **ALT+SHIFT+K**: janela com todos os atalhos disponíveis.
No MacBook, os atalhos geralmente são os mesmos, substituindo o **CTRL** por **command** e o **ALT** por **option**.
## Projetos
Uma funcionalidade muito importante do RStudio é a possibilidade de criar **projetos**.
Um projeto nada mais é do que uma pasta no seu computador. Nessa pasta, estarão todos os arquivos que você usará ou criará na sua análise.
A principal razão de utilizarmos projetos é **organização**. Com eles, fica muito mais fácil importar bases de dados para dentro do R, criar análises reprodutíveis e compartilhar o nosso trabalho.
> Você que está começando agora no R, já se habitue a criar um novo projeto para cada nova análise que for fazer.
Para criar um projeto, clique em `New Project...` no Menu `File`. Na caixa de diálogo que aparecerá, clique em `New Directory` para criar o projeto em uma nova pasta ou `Existing Directory` para criar em uma pasta existente.
Se você tiver o `Git` instalado, você também pode usar projetos para conectar com repositórios do Github e outras plataformas de desenvolvimento. Para isso, basta clicar em `Version Control`.
```{r rstudio-projetos, echo=FALSE, fig.align='center'}
knitr::include_graphics(rep("assets/img/rstudio/projetos.png"))
```
Criando um projeto, o RStudio criará na pasta escolhida um arquivo `nome-do-projeto.Rproj`. Você pode usar esse arquivo para iniciar o RStudio já com o respectivo projeto aberto.
Quando um projeto estiver aberto no RStudio, o seu nome aparecerá no canto superior direito da tela. Na aba **Files**, aparecerão todos os arquivos contidos no projeto.
```{r exemplo-projeto-aberto, echo=FALSE, fig.align='center'}
knitr::include_graphics(rep("assets/img/rstudio/exemplo-projeto-aberto.png"))
```
Você pode criar livremente novas pastas dentro da pasta do projeto. Por padrão, o R sempre começará a procurar arquivos na pasta raiz do projeto (é a pasta que contem o `nome-do-projeto.Rproj`).
Uma maneira fácil de navegar entre projetos é utilizar o menu disponibilizado quando clicamos no nome do projeto. Veja a figura a seguir.
```{r exemplo-lista-projetos, echo=FALSE, fig.align='center'}
knitr::include_graphics(rep("assets/img/rstudio/exemplo-lista-projetos.png"))
```
Nesse menu, além de podermos criar novos projetos ou abrir projetos já existentes, também temos um acesso rápido a projetos abertos recentemente. Basta clicar em qualquer um deles para trocar de projeto, isto é, deixar de trabalhar em uma análise e começar a trabalhar em outra.
A seguir, apresentamos algumas estruturas de organização de projetos no RStudio.
**Estrutura 1**. Por extensão de arquivo.
```{r, engine='bash', eval=FALSE}
nome_do_projeto/
- .Rprofile # códigos para rodar assim que abrir o projeto
- R/ # Código R, organizado com a-carrega.R, b-prepara bd.R, c-vis.R, d-modela, ...
- RData/ # Dados em formato .RData
- csv/ # Dados em .csv
- png/ # gráficos em PNG
- nome_do_projeto.Rproj
```
**Estrutura 2**. Típico projeto de análise estatística.
```{r, engine='bash', eval = FALSE}
nome_do_projeto/
- README.Rmd # Descrição do pacote
- set-up.R # Pacotes etc
- R/ # Código R, organizado com 0-load.R, 1-tidy.R, 2-vis.R, ...
- data/ # Dados (estruturados ou não)
- figures/ # gráficos (pode ficar dentro de output/)
- output/ # Relatórios em .Rmd, .tex etc
- nome_do_projeto.Rproj
```
**Estrutura 3**. Pacote do R.
```{r, engine='bash', eval = FALSE}
nome_do_projeto/
- README.md # Descrição do pacote
- DESCRIPTION # Metadados estruturados do pacote e dependências
- NAMESPACE # importações e exportações do pacote
- vignettes/ # Relatórios em .Rmd
- R/ # Funções do R
- data/ # Dados estruturados (tidy data)
- data-raw/ # Dados não estruturados e arqs 0-load.R, 1-tidy.R, 2-vis.R, ...
- nome_do_projeto.Rproj
```
## Git e versionamento
O RStudio possui funcionalidades para quem trabalha com o programa *Git* para versionar arquivos.
```{r git-menu, echo=FALSE, fig.align='center', out.width="70%"}
knitr::include_graphics(rep("assets/img/rstudio/git-menu.png"))
```
Além disso, quando você inicia o Git na pasta raiz de um projeto, o RStudio criará uma nova abinha chamada *Git*, onde você pode confirir os arquivos modificados que estão à espera de um *commit*.
```{r git-aba, echo=FALSE, fig.align='center', out.width="60%"}
knitr::include_graphics(rep("assets/img/rstudio/git-aba.png"))
```
Para saber mais sobre Git e versionamento de arquivos, leia esse excelente capítulo do [Zen do R](https://curso-r.github.io/zen-do-r/git-github.html).
## Cheatsheets
O RStudio tem à disposição algumas *folhas de cola*, as **cheatsheets**. Elas trazem um resumão de como utilizar diversos pacotes e até o próprio RStudio.
Para acessá-las, basta clicar no menu `Help` e então em `Cheatsheets`.
Outra forma de acessá-las é através do site da [RStudio](https://rstudio.com/resources/cheatsheets/), onde existem muitas opções de **cheatsheets**, incluindo algumas [traduzidas](https://rstudio.com/resources/cheatsheets/#translations) para o Português.
```{r cheatsheet-rstudio, echo=FALSE, fig.align='center', out.width="700pt", out.height="600pt"}
knitr::include_graphics(rep("assets/img/rstudio/cheatsheet-rstudio.png"))
```
## Addins
Addins são cápsulas de código R que podem ser executados interativamente a partir do menu `Addins`.
```{r addins-botao, echo=FALSE, fig.align='center', out.width="70%"}
knitr::include_graphics(rep("assets/img/rstudio/botao_addins.png"))
```
Eles servem para fazer diversos tipos de tarefas, como identar seu código, ajudar nas tarefas de copiar e colar, insirir códigos no seu script e muito mais.
Os addins são criados pelos pacotes que instalamos, então cada pacote vai nos disponibizar addins que facilitam algum tipo de tarefa.
Veja [aqui](https://rstudio.github.io/rstudioaddins/demo/demo-reformat.gif) um exemplo de um addin que formata um código e [aqui](https://rstudio.github.io/rstudioaddins/demo/demo-subset.gif) um addin que filtra uma base.
O pacote `{CursoR}` da Curso-R, por exemplo, tem um addin que auxilia quem faz nossos cursos a atualizar o material de cada aula.
```{r addins-menu, echo=FALSE, fig.align='center', out.width="40%"}
knitr::include_graphics(rep("assets/img/rstudio/addins.png"))
```
## Snippets
Snippets são atalhos que podemos criar para gerar pedaços rotineiros de código.
O RStudio já vem com vários snippets criados. Você pode visualizar os snippts existentes ou criar novos acessando `Tools > Global Options... > Code > Editting > Snippets > Edit snippets`.
No arquivo de texto aberto, basta seguir o padrão dos snippets já existentes para criar novos. Você também pode editar os snippets padrão do RStudio.
```{r snippets, echo=FALSE, fig.align='center', out.width="70%"}
knitr::include_graphics(rep("assets/img/rstudio/snippets.png"))
```
Cada snippet terá um *nome*, que deverá ser utilizado no script para ativar o código guardado por trás.
```{r snippets-for, echo=FALSE, fig.align='center', out.width="60%"}
knitr::include_graphics(rep("assets/img/rstudio/snippet_for.png"))
```
Basta escrever o nome, apertar a teclar `TAB` e *voilà*.
```{r snippets-for-resultado, echo=FALSE, fig.align='center', out.width="40%"}
knitr::include_graphics(rep("assets/img/rstudio/snippet_for_resultado.png"))
```