R Notebook¶
Un compendio de recursos y ejemplos sobre cómo usar R para diferentes cosas.
Aportes, correcciones y comentarios bienvenides!
Cheatsheets¶
- https://www.r-bloggers.com/causal-inference-cheat-sheet-for-data-scientists/
- https://drive.google.com/drive/folders/1-LYRH69XpmPhHDSsgg7PeuI1jgSOC9XY
- Buscar en internet :)
Notas de desarrollo de paquetes en R¶
Algunas experiencias de armar paquetes; algunos con apps de shiny o que compilan funciones de C.
IDEs para R¶
- R-studio
- Bio7
- Jupyter + IR Kernel
- Repl - Online R Editor
- Visual Studio Code
- ...
RStudio¶
Ver el sito dedicado.
Excelente IDE para trabajar en R, con soporte para reticulate/Python, y bocha de funcionalidad para desarrollo de paquetes.
Atajos en R-studio.
VSCode¶
Instalacion en Arch:
sudo pacman -S code
En R, correr:
install.packages(“languageserver”)
Instalar complementos para R:
- Un tutorial (se puede saltear la parte de instalar "R LSP Client", creo que esta incluida ahora).
- Otro tutorial.
- Instalar radian parece piola.
Settings:
++++Mostrar JSON conf file|json conf
{
"window.zoomLevel": 2,
"terminal.integrated.shell.linux": "/bin/zsh",
"r.bracketedPaste": true,
"r.alwaysUseActiveTerminal": true,
"r.rterm.linux": "/home/TU_USUARIO/.local/bin/radian",
"r.rpath.linux": "/usr/bin/R",
"workbench.statusBar.visible": false
}
++++
Keybindings en ~/.config/Code\ -\ OSS/User/keybindings.json
++++Mostrar JSON keybindings|json keybs
// Place your key bindings in this file to override the defaultsauto[]
[
{
"key": "ctrl+t",
"command": "r.createRTerm",
"when": "editorTextFocus"
},
{
"key": "alt+-",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " <- "
}
},
{
"key": "ctrl+shift+m",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": " %>% "
}
},
{
"key": "ctrl+alt+i",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "```{r}\n```"
}
},
{
"key": "ctrl+shift+c",
"command": "editor.action.commentLine",
"when": "editorTextFocus && !editorReadonly"
}
]
++++
Lenguaje¶
Ayuda¶
- Leer la documentacion: ver viñetas, usar
?
. - Pedir ayuda :P
- Googlear errores!
Base¶
> ?Syntax
Asignaciones: <- = -> <<-
Los pipes: |> %>% %$%
- Ver alignment chart: https://twitter.com/ivelasq3/status/1404947187155574787
Paréntesis y llaves: ()
{}
Dos puntos: :
Acceder a datos: [] $ @
Operaciones básicas: + - * ** ^ / %% %/%
Operadores para filtrar 12: & | ! && || > < == %in%
Verdadero, Falso y missing value: TRUE
, FALSE
, T
, F
, NA
, NULL
Funciones anónimas: function(x)
\(x)
Cosas raras:
- things-that-confuse-new-r-coders
a <- b <- "y esto?"
El infierno de R.
Avanzado¶
Objetos: funciones, datos, S4, …
Buenas prácticas: codear con estilo, r-coding-style-guide
Environments y scopes:
- https://adv-r.hadley.nz/environments.html
- Changing the enclosing environment, useful for functions in packages.
Evaluación: I()
, deparse(substitute(object))
, eval
, non-standard evaluation y tidy evaluation.
Expresiones regulares: regex
* [[https://www.r-bloggers.com/demystifying-regular-expressions-in-r/|desmitificaciones]]
* [[https://regex101.com/|https://regex101.com/]] para armar y debuggear tus regex.
* regex [[https://dev.to/emmawedekind/regex-cheat-sheet-2j2a|cheatsheet]]
* armar regex [[https://www.r-bloggers.com/programmatically-generate-regex-patterns-in-r-without-knowing-regex/|sin regex]]
* algo que las arme [[https://www.r-bloggers.com/regex-problem-heres-an-r-package-that-will-write-regex-for-you/|por mi]].
Funciones:
`>`()
es la función que dice si algo es mayor a otra cosa, fijate:`>`
- Uno puede pasar funciones a los argumentos de una función… funception (?)
…
se llama elipsis y es tu amigue.
Debuguear:
- debug, debugonce, ":::" y trace
browse()
options(error=recover)
: https://stackoverflow.com/a/1412607/11524079traceback()
: https://stackoverflow.com/a/1446050/11524079options(error = quote({dump.frames(to.file=TRUE); q()}))
- Breakpoints en RStudio.
Programación orientada a objetos en R:
- S3
- También están los objetos "S4"
Paralelización y HPC¶
Ver página dedicada: proyectos/atr/temas-sugeridos/parallel
- Dos paquetes amigables:
foreach
ydoParallel
- Clusters: PSOCK, FORK, y otros.
- Chunking.
- Una guía con
plyr
: https://jstaf.github.io/hpc-r/ - El tidyverse tambien tiene sus implementaciones, pero no las exploré.
- En R base, se usa
parallel
y funciones comoparLapply
Cursed R¶
Listas de la nada:
> x = NULL
> x[["asd"]][["sdf"]] = 3
> x
$asd
$asd$sdf
[1] 3
Datos: Tipos y Estructuras¶
Como tener y usar "tidy data".
Cargar y guardar datos 1: read_files
Cargar y guardar datos 2: save, saveRDS, fread y fwrite, y feather para R y Python.
Estructuras: array, c()
, data.frame
, data.table, matrix
, RLE
, list
, objetos, ...
Tipos de datos: numeric
, character
, logical
, factor
, typeof()
Strings: strings en R base, quasi-quotation
Cómo usar glue (en vez de paste).
A veces conviene trabajar con una base de datos real (tipo SQL, por ejemplo). En ese caso hay diferentes maneras de interactuar con ellos. Una es usar DBI.
Ayuda con fechas y el tiempo: https://www.r-bloggers.com/lubridate-ggplot-date-helpers/
Manipulación de tablas y datos¶
Manipulación en Base R:
- Seleccionar elementos con
[]
y[[ ]]
(por índice o por nombre) subset()
yselect()
- Operador
%in%
- Ojo al usar
datos[x, ]
cuandox
es un factor; puede no tener el efecto que esperás. order()
,split()
,match()
apply()
ylapply
- matrices y arrays
Data wrangling:
- plyr
- filtrar y programar con dplyr.
- tidyverse
- data.table y más data.table
- Condicionales:
ifelse
ycase_when
(link). - with(),
%>% .[. > x]
,`>`()
, xor()
Misc:
- Comparación entre base, data.table y dplyr: data.table wins
- helfRlein
- Por qué no usar pipes
%>%
.
Multiple column melt / pivot_longer¶
Por estas cosas es que odio el tidyverse... fucking pretensiosos de la elegancia. Me dan ganas de editar R en vi
.
Con melt: https://stackoverflow.com/a/28786520
Con pivot_longer: https://community.rstudio.com/t/pivot-longer-on-multiple-column-sets-pairs/43958/12
En melt
de data.table
, el uso de los argumentos es un poco más transparente. La desventaja es que no deja lindos los nombrecitos directamnte: https://stackoverflow.com/q/57435780
La ventaja es que entendes lo que hace.
```{r}
anscombe %>% data.table::setDT() %>%
data.table::melt(measure.vars = patterns("x", "y"),
variable.name = "id",
value.name = c("x", "y"))
anscombe %>% data.table::setDT() %>%
data.table::melt(measure.vars = list(1:4, 5:8),
variable.name = "id",
value.name = c("x", "y"))
```
```{r}
anscombe %>%
pivot_longer(everything(),
names_to = c(".value", "set"),
names_pattern = "(.)(.)"
)
```
Funciones, loops y scripting¶
Funciones, parámetros, return y scopes.
Pipes %>%
Loops: apply
, for
y foreach
“Loops in R Are Slow”: depende, pero no lo son si se usan bien.
Más control: if
, while
, repeat
, beak
, next
, ifelse
, switch
, stop
, try
Paralelizar loops: apply
y %dopar%
Scripts, source
y environments.
Operadores binarios¶
Son funciones con una sintaxis especial. Toman dos argumentos: uno se pone a la derecha y otro a la izqueirda del operador.
El ejemplo más básico es la suma con el +
.
El +
es un operador binario, porque toma dos argumentos, al igual que otros operadores matemáticos: la resta -
, la multiplicación *
, etc.
%in%¶
Por ejemplo, el operador %in%
se puede usar así:
c(1,2,3,4) %in% c(1,3,5,7)
1:4 %in% c(1,3,5,7)
Noten que no hace falta usar paréntesis para pasar argumentos al operador, simplemente se escribe el primero a la izquierda (el LHS o "left hand side) y el segundo a la derecha (el RHS o "right hand side").
%>%¶
El "pipe" de magrittr, usado ampliamente en el tidyverse.
Usarlo agrega un poco de "overhead" (tiempo de ejecución).
Si estás haciendo muchas cuentas cortitas en un loop (y/o paralelizando) es mejor no usarlo. Realmente puede hacer que una tarea de esas características tarde muchísimo más, solo por incluir pipes.
R tiene su propio pipe |>
: https://www.r-bloggers.com/2021/05/the-new-r-pipe/
Crear nuevos¶
Para trasladar los operadores de Python 3.9 para diccionarios |
y |=
a R, podemos usar listas y operadores binarios.
Ver:
- https://towardsdatascience.com/10-awesome-python-3-9-features-b8c27f5eba5c
- https://stackoverflow.com/questions/25179457/r-what-are-operators-like-in-called-and-how-can-i-learn-about-them
Y el código queda así:
`%|%` <- function(l1, l2){
l1[names(l2)] <- l2
return(l1)
}
`%|=%` <- function(l1, l2){
common.names <- names(l2)[names(l2) %in% names(l1)]
l1[common.names] <- l2[common.names]
return(l1)
}
lista1 <- list(hola = "HOLA", chau = "BYE", hmm = "HMM")
lista2 <- list(hola = "HOLA", chau = "CHAUCHAS", quetal = "COMO VA")
lista1
lista2
lista1 %|% lista2
lista1 %|=% lista2
Nota: esto no asigna el resultado a lista1
. Se puede hacer, pero este tipo de "efectos secundarios" (los side effects) no son recomendados como práctica de programación funcional en R:
- https://www.reddit.com/r/scala/comments/gur0qv/why_are_side_effects_and_loops_avoided_in/
- https://adv-r.hadley.nz/fp.html
Trabajo prolijo¶
Proyectos (o cómo trabajar prolijo):
- Cómo organizar proyectos 1
- Cómo organizar proyectos 2
- Cómo organizar proyectos 3
- 3 Problemas de reproducibilidad
- Espacios de trabajo reproducibles
- Cómo armar un paquete.
Presentando datos a tu boss:
- Desde scripts
- Con markdown: knit VS spin()
- Markdown con ''here''
Para generar informes podemos usar:
- Rmarkdown
- pimp
Rmarkdown¶
Ver página dedicada: proyectos/atr/notebook/rmarkdown
"Rmarkdown is probably the gratest document file format *ever*".
Generalidades: https://www.youtube.com/watch?v=uccEhThn0ls&list=PL5fd4SsfvECyYYiSW3ZreC5GqIq8FBocx&index=4
Usar Rmarkdown: proyectos/atr/temas-sugeridos/rmarkdown
Paquetes¶
Herramientas:
install.packages
- RStudio Package Manager
- Mantener una lista de versiones instaladas con Packrat
- Manejar dependencias
Una increible lista de paquetes utiles:
Un libro: R Packages
Estadística y Regresión¶
Básica¶
summary
- otro summary
- regresión
- tests
- algo sobre bootstrap y ANOVA
model formulas¶
Ver: https://www.datacamp.com/community/tutorials/r-formula-tutorial
General¶
Herramientas basicas¶
lm
y como usarlo con group_by y nest.- regresión logística
- correlación
- clustering
- k-means y más k-means y una guía de clustering jerárquico
- permutación a
- permutación b
- no-parametrica?
- PCA
- PCA fácil y rápido
- t-SNE
- Matrices de confusión para evaluar modelos de clasificación.
Bayes¶
- intro
- cursito
- ejemplo salud
- comparación múltiple
- comparación con frecuentista
- bayestestr
- linear mixed models
Redes¶
- igraph
- Addins en rstudio
- Ver gráficos acá.
- Diagramas tiernos: http://blog.schochastics.net/post/sketchy-hand-drawn-like-networks-in-r/
Errores¶
Una CRAN task view que me interesa es la de "metrología": https://github.com/cran-task-views/ChemPhys/blob/main/ChemPhys.md#metrology
Tiene un par de paquetes para agregar unidades y errores a los vectores, y para propagar automáticamente ambas cosas:
- errors
- units
- Muy bueno: https://www.r-bloggers.com/2015/01/easy-error-propagation-in-r/
Parece haber al menos dos clases de propagacion para la suma: la que suma la magnitud errores, y el usual con las derivadas parciales. Creo que el criterio para la primer clase es la del "máximo error", y el otro enfoque vendría a ser el "estadístico".
Extra¶
- Procesos gaussianos y sampleo.
- One-hot encoding.
- Decision tree
- logistic regression
- Aprendizaje no supervisado.
- datasaurios Causation doesn’t imply Correlation either
Extra extra¶
p-olemica:
Selection bias:
Simulación de datos¶
Datos simulados con significado, especialmente para docencia
Optimización¶
Una nota de 2012.
Un review de CRAN.
Una comparación.
Optimizacion simbolica en R, con Jacobiano y Hessiano (aprox.):
Regresión no lineal y NLS¶
Ver:
- A collection of self-starters for nonlinear regression in R
- Muy buen post: https://www.openanalytics.eu/blog/2022/05/17/new-nonlinear-ls-solvers-in-r/
Machine learning¶
- Un paquete para muchos algoritmos: https://mlr.mlr-org.com/
- Lo de antes pero para jugar sin codear: https://mlr-org.com/docs/2019-06-23-introducing-mlrplayground/#usage
- https://blog.alpha-analysis.com/2019/08/using-svm-to-predict-mpg-for-2019.html
- Ejemplo con redes neuronales
- Cadenas de Markov
Torch en R¶
https://blogs.rstudio.com/ai/posts/2020-10-19-torch-image-classification/
Matemática¶
Álgebra:
- linear algebra
Cálculo:
Diferenciación:
Integración:
Hashing:
digest:digest
vdigest <- Vectorize(digest::digest)
Dinámica no lineal¶
Usé Rungge-Kutta (RK4) del paquete pracma
. Tiene una función para una ecuación y otra para sistemas de ecuaciones.
Series temporales y Forecasts¶
Intro:
Time series parece ser un mundo aparte.
- https://www.r-bloggers.com/feature-based-time-series-analysis/
- https://www.r-bloggers.com/time-series-forecasting-with-random-forest/
- https://www.r-bloggers.com/forecast-stability-guidance-for-model-selection/
Stock market:
- https://www.r-bloggers.com/forecasting-the-next-decade-in-the-stock-market-using-time-series-models/
Varios de R-bloggers:
- Time Series in 5-Minutes, Part 1 https://www.r-bloggers.com/time-series-in-5-minutes-part-1-visualization-with-the-time-plot/
- Time Series in 5-Minutes, Part 2 https://www.r-bloggers.com/time-series-in-5-minutes-part-2-autocorrelation-and-cross-correlation/
- Time Series Analysis: Forecasting Sales Data with Autoregressive (AR) Models https://www.r-bloggers.com/time-series-analysis-forecasting-sales-data-with-autoregressive-ar-models/
- Time series prediction with FNN-LSTM https://www.r-bloggers.com/time-series-prediction-with-fnn-lstm/
- FNN-VAE for noisy time series forecasting https://www.r-bloggers.com/fnn-vae-for-noisy-time-series-forecasting/
Visualización¶
Libro: Fundamentos de dataviz.
Lo básico¶
plot()
ggplot()
yqplot()
en ggplot2
Extra
+ list()
y%+%
para modificar ggplotsggpairs()
y otros en ggallyplotly
gghighlight
grid.arrange()
engridExtra
.- patchwork
Tablas lindas¶
- xtable
- https://tex.stackexchange.com/questions/507041/how-to-use-rs-xtable-to-print-the-output-of-table-and-keep-the-row-and-colu
- Para knitear, usar
results="as is"
en la opciones del Rmd chunk.
- https://gt.rstudio.com/
Paletas de colores¶
- MetallicaR https://twitter.com/icymi_r/status/1309197471097159681
- Wes Anderson https://github.com/karthik/wesanderson
- Viridis
- Color Brewer https://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3
- Coolors https://coolors.co/
- Paul Tol's Sequential Colour Schemes: https://packages.tesselle.org/khroma/reference/scale_tol_sequential.html#rainbow-colour-scheme
Graficos circulares¶
Referencia: https://jokergoo.github.io/circlize_book/book/
Exportar figuras¶
Para generar figuras que querramos usar en Inkscape (para unposter xej), hay que exportarlas en PDF.
Eso es porque Inkscape no puede acceder al width/height en los SVG que genera R, y al importarlos se deforman.
Avanzado¶
Graficos prediseñados:
- The ggpubr R package facilitates the creation of beautiful ggplot2-based graphs for researcher with non-advanced programming backgrounds.
Interactivos: plotly
y chartbookr
Interactivos mas avanzados: shiny
y R2D3
Discusión: tipos de gráficos para tipos de datos (ver: heatmaps, trees, facets, multiplot, ...)
Redes y grafos:
- Gran post, con muchos ejemplos: https://kateto.net/network-visualization
- igraph: igraph
- networkly
- visNetwork
- ggraph
- graphlouts
- Easy alluvial or Sankey plots.
- Multilevel networks con graphlayouts.
- Ver métodos acá.
Más tipos de gráficos:
- formas y polygons
- likert
- Nube de palabras
- Calendar heatmaps
- Redes sociales.
- Time series y alternativa tidy.
Hacks:
- Para ordenar las variables en un boxplot de ggplot, antes de graficar hay que convertir la variable de interés en factor y ordenar sus niveles a mano:
datos$columna <- factor(datos$columna, levels = c("B", "C1", "D","A2","X"))
Hay decenas de sitios con listas de ejemplos:
- https://www.r-graph-gallery.com/
- A veces conviene hacer una búsqueda de imágenes en internet, para encontrar más rápidamente lo que buscamos.
ggplot2 notes¶
Zoom: http://rstudio-pubs-static.s3.amazonaws.com/209392_437ec4da7fa2432d831320f3591e7491.html
Imágenes¶
Magia con magick.
Reconocimiento de texto con Tesseract, videos con av: https://www.r-bloggers.com/updates-to-the-ropensci-image-suite-magick-tesseract-and-av/
Clasificacion supervisada de imagenes: https://www.r-bloggers.com/supervised-image-classification-with-imagej-and-r-in-bio7/
R remoto¶
Formas de correr R en otra compu, y ver los gráficos en la tuya:
- RStudio server
- remoter https://cran.r-project.org/web/packages/remoter/
- rmote https://github.com/cloudyr/rmote
- httpgd https://github.com/nx10/httpgd
R y Python¶
¿Qué elegir y cuándo?
Integraciones:
- rPython / rpy2
- Reticulate y virtualenv.
- Review: lo mejor de dos mundos.
- Consejos para usar ambos y cómo usar Anaconda en R.
- Usar sci-kit learn desde R con Conda.
R y Biología¶
- Bioconductor: R for High-Throughput (Genomic) Analysis
- Clases S4 para datos ómicos
- rOpenSci
¿Esta sería la parte específica?
Dash BIO¶
https://moderndata.plot.ly/introducing-dash-bio-for-r/
Enseñar R¶
Aplicaciones de R en Biología¶
qPCR: qpcR
EasyqpcR
Microscopía: colocalización, rOpenSci, ImageJ TIFF, z-magick, rOpenSci munster
Bioinfo Strings Bio.strings GRanges ..?
Alinear: rBLAST Subread Bowtie Clustal ..?
Anotar: bioMart AnnotationDBI ..?
Bases de datos: MotifDB org.Hs.eg.db
Otros: ChIP-Seq Single-cell seq 3 Networks ..?
Machine Learning: Genetic Algorithms Algo simple Otro with Keras, hands-on workshop
Misc cosas copadas¶
ESTADÍSTICA
The 40 data core science techniques:
- Linear Regression
- Logistic Regression
- Jackknife Regression
- Density Estimation
- Confidence Interval
- Test of Hypotheses
- Pattern Recognition
- Clustering - (aka Unsupervised Learning)
- Supervised Learning
- Time Series
- Decision Trees
- Random Numbers
- Monte-Carlo Simulation
- Bayesian Statistics
- Naive Bayes
- Principal Component Analysis - (PCA)
- Ensembles Neural Networks
- Support Vector Machine - (SVM)
- Nearest Neighbors - (k-NN)
- Feature Selection - (aka Variable Reduction)
- Indexation / Cataloguing
- (Geo-) Spatial Modeling
- Recommendation Engine
- Search Engine
R Shiny Apps¶
Shiny VS Excel¶
https://www.r-bloggers.com/forget-about-excel-use-these-r-shiny-packages-instead/
Extra Shiny¶
- Shiny v1.3.2: Introducing reactlog: Visually debug your reactivity issues: https://www.r-bloggers.com/shiny-v1-3-2/
- Building a Shiny App as a Package: https://www.r-bloggers.com/building-a-shiny-app-as-a-package/
- Winners of the 1st Shiny Contest: https://www.r-bloggers.com/winners-of-the-1st-shiny-contest/
https://www.r-bloggers.com/shiny-apps-need-more-info-our-new-shiny-info-package/
https://adisarid.github.io/post/2019-07-03-shiny_app_lessons/
https://www.r-bloggers.com/dynamic-ui-elements-in-shiny/
Cosas para leer¶
Links para ordenar:
- https://www.r-bloggers.com/collaborative-data-science-high-level-guidance-for-ethical-scientific-peer-reviews/
- https://www.r-bloggers.com/spectral-heatmaps/
- https://www.r-bloggers.com/26-upgrading-to-r-4-0-0/
- https://www.r-bloggers.com/tips-before-migrating-to-a-newer-r-version/
- https://www.r-bloggers.com/r-4-0-0-now-available-and-a-look-back-at-rs-history/
- https://www.r-bloggers.com/4-for-4-0-0-four-useful-new-features-in-r-4-0-0/
- https://www.r-bloggers.com/essential-list-of-useful-r-packages-for-data-scientists/
- https://www.r-bloggers.com/dont-make-arrogant-models/
- https://www.r-bloggers.com/wilcoxon-test-in-r-how-to-compare-2-groups-under-the-non-normality-assumption/
- https://www.r-bloggers.com/new-book-on-machine-learning/
- https://thomasadventure.blog/posts/how-does-the-pipe-operator-actually-work/
- https://www.r-bloggers.com/r-tips-and-tricks-utilities/
- https://www.r-bloggers.com/deep-attractors-where-deep-learning-meets-chaos/
- https://www.r-bloggers.com/neural-networks-using-tensorflow-via-keras-in-r-video/
- https://www.r-bloggers.com/getting-started-with-r-markdown-guide-and-cheatsheet/
- https://www.r-bloggers.com/doing-maths-symbolically-r-as-a-computer-algebra-system-cas/
- https://www.r-bloggers.com/how-to-write-your-own-r-package-and-publish-it-on-cran/
- https://www.r-bloggers.com/ive-been-waiting-for-a-guide-to-come-and-take-me-by-the-hand-ridgeline-plots-with-ggridges/
- https://www.r-bloggers.com/building-a-neural-net-from-scratch-using-r-part-2/
- https://www.r-bloggers.com/few-things-i-learned-while-writing-an-r-package/
- https://www.r-bloggers.com/download-gitlab-or-github-issues-and-make-a-summary-report-of-your-commits/
Boludeces & Misc:
- https://www.r-bloggers.com/3d-printing-your-data-with-rayshader/
- https://www.r-bloggers.com/editable-datatables-for-shiny-applications/
- https://ropensci.org/blog/2018/07/25/educollab-resources/
- https://ropensci.org/blog/2018/07/24/educollab-challenges/
- https://ropensci.org/blog/2018/07/26/educollab-community/
- https://ropensci.org/technotes/2017/11/07/magick-knitr/
- https://www.r-bloggers.com/four-dataviz-posters/
- https://www.r-bloggers.com/dont-forget-the-utils-package-in-r/
- https://www.r-bloggers.com/bayes-vs-the-invaders-part-one-the-37th-parallel/
Dark IDE Theme
https://www.r-bloggers.com/super-dark-ide-theme-r-studio-inverted-color/
https://www.r-bloggers.com/cross-platform-super-dark-ide-theme-r-studio-server/
Using RStudio and LaTeX
https://www.r-bloggers.com/using-rstudio-and-latex/
Drrrawing with purrr
https://www.r-bloggers.com/drrrawing-with-purrr/
What it the interpretation of the diagonal for a ROC curve
https://www.r-bloggers.com/what-it-the-interpretation-of-the-diagonal-for-a-roc-curve/
R and labelled data: Using quasiquotation to add variable and value labels #rstats
https://www.r-bloggers.com/r-and-labelled-data-using-quasiquotation-to-add-variable-and-value-labels-rstats/
El Infierno de R¶
Errores¶
Instalar un paquete: "Warning in file.append"¶
E> Warning in file.append(to[okay], from[okay]) :
E> write error during file append
Posiblemente no haya espacio en el disco: https://github.com/rstudio/packrat/issues/410
Casos de ejemplo¶
Algunos ejemplos de análisis hechos en R.
Debates democráticos y Bigram¶
https://www.r-bloggers.com/bigram-analysis-of-democratic-debates/
Twitter¶
https://www.r-bloggers.com/twitter-account-analysis-in-r/
Política en Wikipedia¶
https://www.r-bloggers.com/studying-politics-on-and-with-wikipedia/