class: center, middle, inverse, title-slide .title[ # Trabajando con proyectos de RStudio ] .author[ ###
Joselyn Chávez
28 de octubre de 2024 ] --- class: middle, center ## Este material posee una licencia tipo Creative Commons Attribution-ShareAlike 4.0 International License. ## Para conocer más sobre esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/ --- class: middle, center ## Material disponible en: ### https://comunidadbioinfo.github.io/cdsb2024 ## Basado en el workshop <br> [What They Forgot](https://rstats.wtf) --- # ¿Qué es un proyecto de RStudio? <br><br> - 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. --- # ¿Cómo generamos un proyecto de RStudio? ## 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 .pull-left[ <img src="data:image/png;base64,#img/salad.png" width="90%" /> ] .pull-right[ <img src="data:image/png;base64,#img/filesorder.png" width="100%" /> ] --- # ¿Por qué usar proyectos de RStudio? .pull-left[<br> ## Compartamentalizas tu trabajo. ## Genera un proyecto por análisis. ] .pull-right[ <img src="data:image/png;base64,#img/multiproyectos.png" width="90%" /> ] --- # ¿Por qué usar proyectos de RStudio? ## Puedes trabajar con varios proyectos a la vez. <img src="data:image/png;base64,#img/multisesion.png" width="90%" /> --- # ¿Por qué usar proyectos de RStudio? ## Establece automáticamente tu directorio de trabajo. .pull-left[ ### Sin proyecto de RStudio ``` r setwd("Documentos/miproyecto") ``` ] .pull-right[ ### Con proyecto de RStudio - Ve a File > Open Project o a File > Open Project in New Session. - Ejecuta ~/Documentos/miproyecto.Rproj. - Si estás en tu terminal puedes usar: open ~/Documentos/miproyecto.Rproj ] --- # ¿Por qué usar proyectos de RStudio? ## Puedes usar rutas relativas a los archivos. .pull-left[ ### Sin proyecto de RStudio ``` r read.csv("~/Documents/materiales_cdsb2024/mitabla.csv") ``` ``` ## x y ## 1 a 1 ## 2 b 2 ## 3 c 3 ``` ] .pull-right[ ### Con proyecto de RStudio ``` r read.csv("mitabla.csv") ``` ``` ## x y ## 1 a 1 ## 2 b 2 ## 3 c 3 ``` ] --- # ¿Por qué usar proyectos de RStudio? ## Facilita el compartir y reproducir tu trabajo ### Sin proyecto de RStudio Esta ruta funcionará solamente en mi computadora. ``` r read.csv("~/Documents/materiales_cdsb2024/mitabla.csv") ``` ### Con proyecto de RStudio Esta ruta funcionará en cualquier computadora que tenga el directorio completo del proyecto. ``` r read.csv("mitabla.csv") ``` --- # ¿Por qué usar proyectos de RStudio? ## Nos ayuda a establecer colaboraciones y trabajar con plataformas de control de versiones. .pull-left[<br> <img src="data:image/png;base64,#img/GitHubLogo.png" width="100%" /> ] .pull-right[ <img src="data:image/png;base64,#img/gitlablogo.jpg" width="80%" /> ] --- # Es tu turno! (10 min) - 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 --- # Algunos hacks! .pull-left[ ### 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. Sólo da click en alguno de ellos y abrirá tu proyecto en la misma sesión, o da click en el cuadro con flecha blanca y te abrirá una nueva sesión con tu proyecto. ] .pull-right[ <img src="data:image/png;base64,#img/listprojects.png" width="95%" /> ] --- Crea todos tus proyectos dentro de una carpeta principal y usa el buscador de archivos para acceder a ellos rápidamente. .pull-left[ <img src="data:image/png;base64,#img/misproyectos.png" width="70%" style="display: block; margin: auto;" /> ] .pull-right[ <img src="data:image/png;base64,#img/resultadomisproyectos.png" width="100%" /> ] --- class: chapter-slide # Usando rutas seguras --- # 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 getwd() ``` --- - Deben funcionar en cualquier sistema operativo Una ruta en sistemas Linux se ve así: ``` r "/Users/joselynchavez/Documents/materiales_cdsb2024" ``` Mientras que una ruta en Windows se ve así: ``` r "C:\Documents/materiales_cdsb2024" ``` --- # El paquete here .pull-left[ Usemos el paquete here para detectar la ubicación del proyecto: ``` r here::here() ``` Ahora generemos una ruta segura a partir de la raíz del proyecto ``` r here::here("mi_tabla.csv") here::here("subfolder", "mi_tabla.csv") ``` ] .pull-right[ <img src="data:image/png;base64,#img/safepaths.png" width="100%" /> ] --- # Usando el paquete fs Por defecto, usa el directorio de trabajo actual como base y detecta el sistema operativo automáticamente. ``` r 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 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 file.path("mi_tabla.csv") file.path("subfolder", "mi_tabla.csv") ``` --- .pull-left[<br><br><br><br><br><br><br> .center[ # ¡Gracias! ] ] .pull-right[<br> <img src="data:image/png;base64,#css/xolo.png" width="80%" style="display: block; margin: auto;" /> ]