1 Introducción a R y RStudio

1.3 RStudio

remotes::install_github(c(
    "gadenbuie/rsthemes"
))
remotes::install_cran("suncalc")
rsthemes::install_rsthemes(include_base16 = TRUE)
usethis::edit_r_profile()

## From https://www.garrickadenbuie.com/project/rsthemes/
if (interactive() && requireNamespace("rsthemes", quietly = TRUE)) {
    # Set preferred themes if not handled elsewhere..
    rsthemes::set_theme_light("Solarized Light {rsthemes}") # light theme
    rsthemes::set_theme_dark("base16 Monokai {rsthemes}") # dark theme
    rsthemes::set_theme_favorite(c(
        "Solarized Light {rsthemes}",
        "base16 Monokai {rsthemes}",
        "One Dark {rsthemes}"
    ))

    # Whenever the R session restarts inside RStudio...
    setHook("rstudio.sessionInit", function(isNewSession) {
        # Automatically choose the correct theme based on time of day
        ## Used rsthemes::geolocate() once
        rsthemes::use_theme_auto(lat = 39.2891, lon = -76.5583)
    }, action = "append")
}

## https://blog.rstudio.com/2013/06/10/rstudio-cran-mirror/
options(repos = c(CRAN = "https://cloud.r-project.org"))
usethis::create_project("~/rnaseq_2024_notas")
## Start a setup file
usethis::use_r("01-notas.R")

O por ejemplo el archivo 02-visualizar-mtcars.R

## Creemos el archivo R/02-visualizar-mtcars.R
usethis::use_r("02-visualizar-mtcars.R")

con el siguiente contenido:

library("sessioninfo")
library("here")
library("ggplot2")

## Hello world
print("Soy Leo")

## Directorios
dir_plots <- here::here("figuras")
dir_rdata <- here::here("processed-data")

## Crear directorio para las figuras y archivos
dir.create(dir_plots, showWarnings = FALSE)
dir.create(dir_rdata, showWarnings = FALSE)

## Hacer una imagen de ejemplo
pdf(file.path(dir_plots, "mtcars_gear_vs_mpg.pdf"),
    useDingbats = FALSE
)
ggplot(mtcars, aes(group = gear, y = mpg)) +
    geom_boxplot()
dev.off()

## Para reproducir mi código
options(width = 120)
sessioninfo::session_info()
  • Un video de mi club de R sobre RStudio y el uso de here:

También hay videos en el canal de YouTube de la CDSB sobre here como pueden ver aquí.

## Para poder conectar tu compu con GitHub
usethis::create_github_token() ## Abrirá una página web, escoje un nombre único
## y luego da click en el botón verde al final. Después copia el token
## (son 40 caracteres)
  • Para Mac o Windows:
gitcreds::gitcreds_set() ## Ojo, copia el token, no tu password de git!
## Si no, terminaras en la situación descrita en
## https://github.com/r-lib/usethis/issues/1347
  • Para Linux:

En el servidor de RStudio de la LCG-UNAM no funciona bien gitcreds::gitcreds_set() (porque esa función solo corre bien en macOS o winOS) así que tenemos que editar el archivo .Renviron donde nuestro token no se guarda de forma privada, y por lo cual hoy en día no es lo que recomienda Jenny Bryan. Pero es lo que funciona en este caso tal como lo hablamos con el autor de gitcreds vía GitHub. Usando el siguiente comando podemos abrir el archivo .Renviron.

usethis::edit_r_environ()

Después guarden su token de GitHub usando la siguiente sintáxis (ojo con la línea en blanco al final, las mayúsculas al inicio, y el que no hay espacios antes y después del =).

GITHUB_PAT=TU_CLAVE_DE_40_LETRAS

Después de guardar el .Renviron, vayan a Session hasta arriba y reinicien la sesión de R para que se cargue el .Renviron antes de continuar.

  • Continuemos con tu configuración de GitHub
## Configura tu usuario de GitHub
usethis::edit_git_config()
[user]
    name = Leonardo Collado Torres
    email = lcolladotor@gmail.com
## Para inicializar el repositorio de Git
usethis::use_git()

## Para conectar tu repositorio local de Git con los servidores de GitHub
usethis::use_github()

Resultado ejemplo: https://github.com/lcolladotor/rnaseq_2021_notas. El que hice en vivo está disponible vía https://github.com/lcolladotor/rnaseq_2024_notas_en_vivo.

Una vez que termines, agrega la liga al repositorio con tus notas del curso en el la página del curso.

1.4 Material del curso

  • Pueden descargar la versión estática con usethis::use_course('lcolladotor/rnaseq_LCG-UNAM_2024')
  • Pueden verlo en línea a través de lcolladotor.github.io/rnaseq_LCG-UNAM_2024
  • Pueden clonarlo desde GitHub de tal forma que podrán actualizarlo fácilmente usando git pull
git clone https://github.com/lcolladotor/rnaseq_LCG-UNAM_2024.git

## Si tienen su SSH key configurarda pueden usar
## Info sobre SSH keys de GitHub: 
## https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
git clone git@github.com:lcolladotor/rnaseq_LCG-UNAM_2024.git

O desde R con:

## Opción más nueva:
library("gert")
repo <- git_clone(
    "https://github.com/lcolladotor/rnaseq_LCG-UNAM_2024",
    "~/Desktop/rnaseq_LCG-UNAM_2024"
)
setwd(repo)

## Otra opción:
git2r::clone(
    "https://github.com/lcolladotor/rnaseq_LCG-UNAM_2024",
    "~/Desktop/rnaseq_LCG-UNAM_2024"
)

1.5 Actividad postcards

Impartida por Melissa Mayén Quiroz

30/01/2024

Repositorio de GitHub para la actividad de Postcards: https://github.com/Melii99/rnaseq_2024_postcards

En el mismo se encuentran las diapositivas: https://github.com/Melii99/rnaseq_2024_postcards/blob/master/Postcards_Diapositivas.pdf

1.5.1 Create Beautiful, Simple Personal Websites

A collection of R Markdown templates for creating simple and easy to personalize single page websites.

“El objetivo del paquete es facilitar que cualquier persona pueda crear un sitio web personal de una sola página con un documento R Markdown.”

También pueden revisar https://lcolladotor.github.io/jhustatcomputing2023/projects/project-0/.

1.5.2 Instalación

## Puedes instalar Postcards con el siguiente comando:
install.packages("postcards")

## O puedes instalar la última versión en desarrollo:
remotes::install_github("seankross/postcards@main")

1.5.3 Plantillas

Postcards incluye cinco plantillas: Jolla, Jolla Blue, Trestles, Onofre y Solana. Cada sitio está optimizado para ser visualizado tanto en computadoras de escritorio como en dispositivos móviles. El objetivo del paquete es facilitar que cualquier persona pueda crear un sitio web personal de una sola página con un documento R Markdown

Jolla
Jolla
Jolla Blue
Jolla Blue
Trestles
Trestles
Onofre
Onofre
Solana
Solana

Para comenzar a personalizar una de estas plantillas, debes crear un nuevo proyecto.

1.5.4 Crear un nuevo proyecto en RStudio (selección interactiva)

Si usas RStudio:

  • selecciona “File”, “New Project”…
  • Elige “New Directory”, “Postcards Website”
  • Ingresar un nombre de directorio para tu proyecto en RStudio (“Tu_Usuario.github.io”)
  • Elegir una de las plantillas desde un menú desplegable

Selecciona “Create Project” después de elegir un nombre para la carpeta que contendrá tu sitio. Esta carpeta contendrá dos archivos importantes:

  • Un documento R Markdown con el contenido de tu sitio
  • Una foto de muestra que debes reemplazar”

1.5.5 Crear un nuevo proyecto

## Crearun nuevo proyecto
usethis::create_project("Su_Usuario.github.io")

1.5.6 Configurar Git y GitHub

Para poder guardar los cambios es necesario configurar Git y GitHub

## Configurar Git y GitHub
usethis::use_git() # Reiniciar la sesión
usethis::use_github()

1.5.7 Elegir una plantilla

## Elegir solo una plantilla (la que más te guste)
postcards::create_postcard(template = "jolla")
postcards::create_postcard(template = "jolla-blue")
postcards::create_postcard(template = "trestles")
postcards::create_postcard(template = "onofre")
postcards::create_postcard(template = "solana")

De esta manera también se obtienen los 2 archivos importantes:

  • Un documento R Markdown con el contenido de tu sitio

  • Una foto de muestra que debes reemplazar

1.5.8 Editar con su información

1.5.9 Desplegar la página

Para compilar el archivo HTML autocontenido para el sitio:

  • En RStudio puedes utilizar el botón “Knit”

o directamente:

## Desplegar la página GitHub
rmarkdown::render("index.Rmd")

© 2011-2020. All thoughts and opinions here are my own. The icon was designed by Mauricio Guzmán and is inspired by Huichol culture; it represents my community building interests.

Published with Bookdown