1 Introducción a R y RStudio
Instructor: Leonardo Collado Torres
1.1 R
- R: es gratis, de acceso libre, utilizado para muchos campos de trabajo, fuerte en la bioinformática a través de Bioconductor
- Instalación a través de CRAN: https://cran.r-project.org/
- Para explorar que se puede hacer con R:
- R Weekly https://rweekly.org/
- R Bloggers https://www.r-bloggers.com/
- Twitter https://twitter.com/search?q=%23rstats&src=typed_query
- Twitter en español https://twitter.com/search?q=%23rstatsES&src=typed_query
- TidyTuesday https://twitter.com/search?q=%23TidyTuesday&src=typed_query
- DatosDeMiercoles https://twitter.com/search?q=%23datosdemiercoles&src=typed_query
- Para pedir ayuda hay muchas opciones
- Material en el que estoy involucrado:
- https://twitter.com/lcolladotor
- https://www.youtube.com/c/LeonardoColladoTorres/playlists
- LIBD rstats club https://docs.google.com/spreadsheets/d/1is8dZSd0FZ9Qi1Zvq1uRhm-P1McnJRd_zxdAfCRoMfA/edit?usp=sharing
- https://twitter.com/CDSBMexico, https://twitter.com/LIBDrstats, https://twitter.com/Bioconductor
- https://comunidadbioinfo.github.io/
- YouTube CDSB: https://www.youtube.com/channel/UCHCdYfAXVzJIUkMoMSGiZMw
- Orchestrating Spatially Resolved Transcriptomics Analysis with Bioconductor https://lmweber.org/OSTA-book/
Thank you @Bioconductor for welcoming me & providing me a foundation & platform for my career
— 🇲🇽 Leonardo Collado-Torres (@lcolladotor) August 5, 2021
Gracias BioC por darme una oportunidad y plataforma para desarrollar mi carrera
Time to pass it on/Toca enseñar y crecer la bola de nieve ❄️ @CDSBMexico 🇲🇽#BioC2021 #rstats #rstatsES https://t.co/8cDXP4Pf2W pic.twitter.com/rpQgH8UsWW
1.2 GitHub
- Permite compartir código
- Se complementa con Git que es para tener un control de versiones de tu código
- Puedes tener páginas web estáticas
- https://pages.github.com/
- https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq/. En especial https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq/tree/gh-pages se convierte en https://comunidadbioinfo.github.io/cdsb2021_scRNAseq/
- Página personal: https://github.com/lcolladotor/lcolladotor.github.com se convierte en http://lcolladotor.github.io/. Está todo hecho con https://github.com/lcolladotor/lcolladotorsource
- Tip: usen el mismo nombre de usuario en GitHub, Twitter, Gmail, etc.
- How to be a Modern Scientist: https://lcolladotor.github.io/bioc_team_ds/how-to-be-a-modern-scientist.html
1.3 RStudio
- RStudio Desktop es gratis http://www.rstudio.com/products/rstudio/download/preview/
- Nos ayuda a realizar muchas cosas con R de forma más rápida
- Demo
rsthemes
- Demo
::install_github(c(
remotes"gadenbuie/rsthemes"
))::install_cran("suncalc")
remotes::install_rsthemes(include_base16 = TRUE) rsthemes
::edit_r_profile()
usethis
## From https://www.garrickadenbuie.com/project/rsthemes/
if (interactive() && requireNamespace("rsthemes", quietly = TRUE)) {
# Set preferred themes if not handled elsewhere..
::set_theme_light("Solarized Light {rsthemes}") # light theme
rsthemes::set_theme_dark("base16 Monokai {rsthemes}") # dark theme
rsthemes::set_theme_favorite(c(
rsthemes"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
::use_theme_auto(lat = 39.2891, lon = -76.5583)
rsthemesaction = "append")
},
}## https://blog.rstudio.com/2013/06/10/rstudio-cran-mirror/
options(repos = c(CRAN = "https://cloud.r-project.org"))
- Es actualizado con bastante frecuencia
- RStudio cheatsheets https://www.rstudio.com/resources/cheatsheets/
- RStudio projects: usalos para organizar tu código
::create_project("~/Desktop/cdsb2021_scRNAseq_notas") usethis
## Inicien un archivo para sus notas
::use_r("01-notas.R") usethis
O por ejemplo el archivo 01-visualizar-mtcars.R
## Creemos el archivo R/01-visualizar-mtcars.R
::use_r("01-visualizar-mtcars.R") usethis
con el siguiente contenido:
## Cargar paquetes que usaremos en este código
library("sessioninfo")
library("here")
library("ggplot2")
## Hello world
print("Soy Leo")
## Crear directorio para las figuras
dir.create(here::here("figuras"), showWarnings = FALSE)
## Hacer una imagen de ejemplo
pdf(here::here("figuras", "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)
::session_info() sessioninfo
- Configura
usethis
con GitHub vía https://usethis.r-lib.org/articles/articles/git-credentials.html
## Para poder conectar tu compu con GitHub
::create_github_token() ## Abrirá una página web, escoje un nombre único
usethis## y luego da click en el botón verde al final. Después copia el token
## (son 40 caracteres)
::gitcreds_set() ## Ojo, copia el token, no tu password de git!
gitcreds## Si no, terminaras en la situación descrita en
## https://github.com/r-lib/usethis/issues/1347
## Configura tu usuario de GitHub
::edit_git_config()
usethis# [user]
# name = Leonardo Collado Torres
# email = lcolladotor@gmail.com
## Para inicializar el repositorio de Git
::use_git()
usethis
## Para conectar tu repositorio local de Git con los servidores de GitHub
::use_github() usethis
Resultado ejemplo: https://github.com/lcolladotor/cdsb2021_scRNAseq_notas. El que hice en vivo está disponible vía https://github.com/lcolladotor/cdsb2021_scRNAseq_notas_en_vivo (o https://github.com/lcolladotor/rnaseq_2021_notas_en_vivo para un ejemplo de febrero 2021).
Una vez que termines, agrega la liga al repositorio con tus notas del curso en el Google Sheet del curso. (De ser necesario, pide permisos para editar el archivo.)
1.4 Material del curso
- Pueden descargar la versión estática con
usethis::use_course('ComunidadBioInfo/cdsb2021_scRNAseq')
- Pueden verlo en línea a través de ComunidadBioInfo.github.io/cdsb2021_scRNAseq
- Pueden clonarlo desde GitHub de tal forma que podrán actualizarlo fácilmente usando git pull
git clone https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq.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:ComunidadBioInfo/cdsb2021_scRNAseq.git
O desde R con:
## Opción más nueva:
library("gert")
<- git_clone(
repo "https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq",
"~/Desktop/cdsb2021_scRNAseq"
)setwd(repo)
## Otra opción:
::clone(
git2r"https://github.com/ComunidadBioInfo/cdsb2021_scRNAseq",
"~/Desktop/cdsb2021_scRNAseq"
)
1.5 Detalles de la sesión de R
## Información de la sesión de R
Sys.time()
## [1] "2021-08-19 15:15:47 UTC"
proc.time()
## user system elapsed
## 0.407 0.145 0.438
options(width = 120)
::session_info() sessioninfo
## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
## setting value
## version R version 4.1.0 (2021-05-18)
## os Ubuntu 20.04.2 LTS
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz UTC
## date 2021-08-19
##
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
## package * version date lib source
## bookdown 0.23 2021-08-13 [1] RSPM (R 4.1.0)
## bslib 0.2.5.1 2021-05-18 [1] RSPM (R 4.1.0)
## cli 3.0.1 2021-07-17 [2] RSPM (R 4.1.0)
## digest 0.6.27 2020-10-24 [2] RSPM (R 4.1.0)
## evaluate 0.14 2019-05-28 [2] RSPM (R 4.1.0)
## htmltools 0.5.1.1 2021-01-22 [1] RSPM (R 4.1.0)
## jquerylib 0.1.4 2021-04-26 [1] RSPM (R 4.1.0)
## jsonlite 1.7.2 2020-12-09 [2] RSPM (R 4.1.0)
## knitr 1.33 2021-04-24 [2] RSPM (R 4.1.0)
## magrittr 2.0.1 2020-11-17 [2] RSPM (R 4.1.0)
## R6 2.5.0 2020-10-28 [2] RSPM (R 4.1.0)
## rlang 0.4.11 2021-04-30 [2] RSPM (R 4.1.0)
## rmarkdown 2.10 2021-08-06 [1] RSPM (R 4.1.0)
## sass 0.4.0 2021-05-12 [1] RSPM (R 4.1.0)
## sessioninfo 1.1.1 2018-11-05 [2] RSPM (R 4.1.0)
## stringi 1.7.3 2021-07-16 [2] RSPM (R 4.1.0)
## stringr 1.4.0 2019-02-10 [2] RSPM (R 4.1.0)
## withr 2.4.2 2021-04-18 [2] RSPM (R 4.1.0)
## xfun 0.25 2021-08-06 [2] RSPM (R 4.1.0)
##
## [1] /__w/_temp/Library
## [2] /usr/local/lib/R/site-library
## [3] /usr/local/lib/R/library