-
Notifications
You must be signed in to change notification settings - Fork 0
/
01_sesion1.Rmd
192 lines (128 loc) · 6.38 KB
/
01_sesion1.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
# Trabajando con proyectos de RStudio
Joselyn Cristina Chávez Fuentes
28 de octubre de 2024
## Diapositivas
[
```{r,echo=FALSE}
knitr::include_url("https://comunidadbioinfo.github.io/cdsb2024/proyectos.html", height = "380px")
```
](https://comunidadbioinfo.github.io/cdsb2024/proyectos.html)
<style>
div.grey {
background-color: #bfbfbf;
}
</style>
<style>
div.center {
text-align:center;
}
</style>
## ¿Qué es un proyecto de RStudio?
- Es un archivo especial de R, compatible con RStudio, que al ejecutarlo hará 3 cosas:
- Abrirá una nueva sesión de RStudio.
- Establecerá la ubicación del proyecto como tu directorio de trabajo.
- Establecerá la ubicación del proyecto como la raíz de los archivos.
## ¿Cómo generamos un proyecto de RStudio?
### Opción 1: Creando un proyecto en un directorio nuevo.
- En las opciones de RStudio Ve a File > New project > New Directory > New Project.
- Asigna un nombre a tu proyecto, sin espacios y sin caracteres especiales.
- Selecciona la ubicación donde crearás el nuevo directorio.
- Selecciona la opción Open in New Session.
- Oprime Create Project.
### Opción 2: Creando un proyecto en un directorio existente.
- Crea un directorio en alguna ubicación conocida de tu computadora.
- Asigna un nombre a tu directorio, sin espacios y sin caracteres especiales (Este será el nombre de tu proyecto).
- En las opciones de RStudio ve a File > New project > Existing Directory.
- Selecciona la ubicación donde previamente creaste el directorio.
- Selecciona la opción Open in New Session.
- Oprime Create Project.
## ¿Por qué usar proyectos de RStudio?
- Te permiten ser más organizado y pasar de tener una ensalada de archivos a tener carpetas para cada sección del análisis.
```{r,echo=FALSE, fig.align='center', out.width='60%'}
library(cowplot)
ggdraw() +
draw_image("img/salad.png", width = 0.4) +
draw_image("img/filesorder.png", width = 0.5, x = 0.5)
```
- Compartamentalizas tu trabajo al generar un proyecto específico para cada análisis.
```{r,echo=FALSE, out.width='35%', fig.align='center'}
knitr::include_graphics("img/multiproyectos.png")
```
- Te permiten trabajar con varios proyectos a la vez en sesiones independientes de RStudio, cada uno con sus propias variables, directorio de trabajo y archivos.
```{r,echo=FALSE, out.width='80%', fig.align='center'}
knitr::include_graphics("img/multisesion.png")
```
- Establece automáticamente tu directorio de trabajo. En lugar de usar setwd() solamente requieres ejecutar el archivo .Rproj para abrir la sesión y trabajar en la ubicación del proyecto.
- Puedes usar rutas relativas (y estables) a tus archivos, que seguirán funcionando sin importar en dónde se ubique tu proyecto.
- Facilita el compartir y reproducir tu trabajo. No más rutas al estilo ~/MiComputadora/MiFolder/MiArchivo. Comparte la carpeta completa de tu proyecto con todos los archivos necesarios y usa rutas relativas dentro del Rscript, por ejemplo ./datos.
- Nos ayuda a establecer colaboraciones y trabajar con plataformas de control de versiones.
```{r,echo=FALSE, fig.align='center', out.width='40%'}
#library(cowplot)
ggdraw() +
draw_image("img/GitHubLogo.png", width = 0.6) +
draw_image("img/gitlablogo.jpg", width = 0.5, x = 0.5)
```
<div class = "grey color">
<div class = "center">**Actividad**</div>
Comprueba algunas ventajas de usar proyectos de RStudio.
- Genera un nuevo proyecto de RStudio llamado 'miproyecto', recuerda que existen varias formas para hacerlo.
- Cierra la sesión y vuelve a abrirla ejecutando desde la terminal open miproyecto.Rproj o dando doble click sobre el archivo miproyecto.Rproj.
- Evalúa tu directorio de trabajo ejecutando en la consola de RStudio el comando getwd().
- Cierra la sesión y mueve toda la carpeta de tu proyecto a otra ubicación. Si lo creaste en Documentos mueve la carpeta al Escritorio o viceversa.
- Abre nuevamente el proyecto y verifica el directorio de trabajo, ¿Cambió el directorio de trabajo?
- Sin cerrar este proyecto, abre alguno de los proyectos que generaste previamente (por ejemplo directorioprevio.Rproj), recuerda que puedes seleccionar Open Project in New session
</div>
## Algunos hacks!
- RStudio recuerda los proyectos con los que has trabajado recientemente. Ve a la esquina superior derecha y da click en la flecha junto al nombre de tu proyecto actual. Verás todos los proyectos recientes. Si das click en el nombre de alguno de ellos te abrirá el proyecto en la misma sesión, si das click en el recuadro con flecha blanca te abrirá una nueva sesión con tu proyecto.
```{r,echo=FALSE, out.width='30%', fig.align='center'}
knitr::include_graphics("img/listprojects.png")
```
- Crea todos tus proyectos dentro de una carpeta principal y usa el buscador de archivos para acceder a ellos rápidamente.
```{r,echo=FALSE, fig.align='center'}
ggdraw() +
draw_image("img/misproyectos.png", width = 0.4) +
draw_image("img/resultadomisproyectos.png", width = 0.5, x = 0.5)
```
## Generando rutas seguras
- Se construyen a partir de una base estable
El directorio de trabajo cambia de usuario a usuario y dependiendo de la ubicación de los archivos.
```{r, eval=FALSE}
getwd()
```
- Deben funcionar en cualquier sistema operativo
Una ruta en sistemas Linux se ve así:
```{r, eval=FALSE}
"/Users/joselynchavez/Documents/materiales_cdsb2024"
```
Mientras que una ruta en Windows se ve así:
```{r, eval=FALSE}
"C:\Documents/materiales_cdsb2024"
```
### El paquete here
Usemos el paquete here para detectar la ubicación del proyecto:
```{r, eval=FALSE}
here::here()
```
Ahora generemos una ruta segura a partir de la raíz del proyecto
```{r, eval=FALSE}
here::here("mi_tabla.csv")
here::here("subfolder", "mi_tabla.csv")
```
### Usando el paquete fs
Por defecto, usa el directorio de trabajo actual como base y detecta el sistema operativo automáticamente.
```{r, eval=FALSE}
fs::path("mi_tabla.csv")
fs::path("subfolder", "mi_tabla.csv")
```
Tiene como ventaja que puede construir las rutas a partir del home del usuario.
```{r, eval=FALSE}
fs::path_home()
fs::path_home("mi_tabla.csv")
```
### Usando funciones base
Si no deseas incluir el paquete 'here' en las dependencias de tu paquete, puedes usar la función file.path
Esta función usa como base el directorio de trabajo actual y detecta el sistema operativo para construir la ruta.
```{r, eval=FALSE}
file.path("mi_tabla.csv")
file.path("subfolder", "mi_tabla.csv")
```