Herramientas y atajos para programar eficientemente con RStudio

LatinR 2022

Luis D. Verde Arregoitia

  • Mastozoología
  • Macroecología
  • Modelos filogenéticos
  • Limpieza de datos

La consola

IDE

Entornos de Programación

IDEs - Integrated development environments


  • Editor de texto
    • Reconocen la sintaxis de un lenguaje de programación
    • Nos ayuda a enviar código a un proceso de R en ejecución
    • Herramientas para facilitar edición

RStudio
Emacs + ESS (https://ess.r-project.org)
vim + Nvim-R: (Turn Vim Into an IDE for R)
Visual Studio + RTVS

RStudio

Personalización

No one at the coffee shop will know you’re serious unless you have a dark background

-Jared Lander
📼 R: Then and now

  • Fuentes y texto - 🔗 Nerd Fonts

  • Disposición de los páneles

Personalizando el arranque en R

El archivo .Rprofile file contiene código que se ejecuta cada que arrancamos R.


.Rprofile generalmente vive en nuestro directorio de inicio


Podemos modificarlo con usethis::edit_r_profile()

Usar con precaución para no perder reproducibilidad

R Startup
What they forgot to teach you about R

Práctica

Exploremos la diversidad de paquetes que hay en CRAN hoy mismo:

library(dplyr)
library(stringr)
p_db <- tools::CRAN_package_db()
p_db <- p_db %>% select(Package, Author, Description, Title)

Veamos si sus campos o disciplinas aparecen en los títulos o descripciones.

📦 annotater

https://annotater.liomys.mx

Agregar detalles sobre los paquetes que estamos mencionando en nuestros scripts

Fuente y versión

library(dplyr)   # CRAN v1.0.7
library(janitor) # CRAN v2.1.0

Título, fuente y versión

library(readr) # Read Rectangular Text Data, CRAN v2.0.2
  • También podemos anotar cuáles funciones de c/ paquete estamos usando

📦 littleboxes

https://github.com/ThinkR-open/littleboxes

Cajas para títulos

##%##################################################%##
#                                                      #
####    Mi análisis en R ,  Luis, Oct 2022          ####
#                                                      #
##%##################################################%##

📦 packup

https://github.com/MilesMcBain/packup

Acomoda los llamados a library() al principio del archivo, quitando duplicados y ordenando alfabéticamente.

El orden alfabético puede no ser adecuado

data("starbucks")
# create vectors 
library(purrr)
fat <- starbucks$fat
carb <- starbucks$carb
library(purrr)
library(openintro)
library(openintro)
library(purrr)
data("starbucks")
# create vectors 
fat <- starbucks$fat
carb <- starbucks$carb

Secciones de código y el esquema de documento

# Mi sección nueva ------------------------------------ 

Dividir un script en segmentos discretos

Las secciones se pueden colapsar y funcionan con el panel de navegación del editor de fuente.

  • Crear con cuatro guiones después de un comentario
  • Insertar con ctrl + shift + R

Utilidades geniales

📦 datapasta

Copiar y pegar datos desde y hacia R, manipular vectores

Programando eficientemente

Ctrl == ⌘ Command && Alt == ⌥ Option

  • cursor multilinea (ctrl+alt+arriba) or (ctrl+alt+abajo)
    • cesar con escape

Atajos de teclado

  • panel de atajos (alt+shift+k)
  • insertar ‘pipe’ (ctrl+shift+m)
  • operador de asignación (alt+-)
  • arrastrar línea (alt+up) or (alt+down)
  • ejecutar línea (ctrl+enter)
  • indentar o ‘desindentar’ selección (tab y shift+tab)
  • convertir selección a comentario (ctrl + shift + c)

RStudio Shortcuts and Tips (2021)

Atajos útiles

  • Cambiar enfoque entre paneles
    • (ctrl+1 hasta 8)
    • Maximizar paneles con (ctrl+shift+1 hasta 8)

Más atajos

Modificar selección ctrl+alt+shift+m

Para acceder a la documentación ? o F1

Abriendo objetos en el visualizador

ctrl + click

!Gracias!