... alrededor de un 40%! (... varía por disciplina)
Escritura abierta:
Escritura abierta:
Flujo de trabajo documentado y reproducible
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Repositorio con datos y código de análisis abierto
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Repositorio con datos y código de análisis abierto
Control de versiones
Barrera de pago/licencia para acceder a contenidos (propiedad)
Difícil versionamiento y llevar registro de quién hizo qué cambio, barrera a la reproducibilidad y colaboración
No permite un documento enteramente reproducible que combine texto y código de análisis (en caso de utilizarlo)
independiente de programa comercial
independiente de plataformas específicas
permite combinar texto y análisis en un mismo documento
foco en los contenidos en lugar del formato
permite distintas opciones de formato final
entorno: editor de texto
separación entre texto de entrada (input) y texto de salida (output)
foco en el input/contenido vs output/formato
marcas de edición: vínculo entre formato de input y output
sin cortar / pegar
sistema de escritura simple de amplio uso en la academia
alta calidad en salida a pdf
creado a comienzos de los 80 (Donald Knuth, Leslie Lamport)
creado por John Gruber y Aaron Swartz en 2004
forma de escritura simple con pocas marcas de formato
conversión a distintos formatos de salida (html, pdf)
Soporta encabezados, tablas, imágenes, tablas de contenidos, ecuaciones, links ...
filosofía: foco en contenido primero, el formato después.
Control de formato | Marcas de edición | Formatos de salida | |
---|---|---|---|
LaTeX | + | + | - |
Markdown | - | - | + |
Texto en negrita entre dos astericos: **negrita**
Texto en cursiva con un asterico por lado: *cursiva*
Títulos se marcan con #
al principio, subtítulos ##
, y así sucesivamente
Imágenes: 
Links: [](link-web)
Proceso tradicional: cortar y pegar resultados en el documento de texto
Dificulta la reproducibilidad: ¿de dónde salieron esos resultados?
Ideal de reproducibilidad: documento donde se combine texto y código que genera resultados presentados.
Limitación procesadores de texto: no permiten incorporar código & resultados de manera eficiente
Limitación software de análisis: permiten incorporar texto solo en un formato plano, no publicable
Lenguaje que combina código (R) y texto (Markdown)
Hoja de código escrita en RMarkdown (documento RMarkdown)
Librería de R que provee de una serie de herramientas para generar documentos dinámicos y publicarlos
Instalar la librería (o actualizarla, si está cargada) : install.packages("rmarkdown")
Al instalarla, también incorpora otras librerías (dependencies) que permiten trabajar y publicar con RMarkdown (como knitr
y también tinitex
, que permite generación documentos pdf vía Latex).
permite incluir trozos de código (chunks) en el texto
un chunk se especifica mediante una línea de código inicial ```{r}
, y se cierra con ```
Aquí texto
```{r}1 + 1```
Aquí sigue el texto
Se pueden insertar rápidamente de la siguiente manera:
Menú en ventana de RStudio Insert > R
o, combinación Ctrl + Alt + i
Mostrar código y resultado
Mostrar solo el código
Mostrar solo el resultado
No mostrar ni código ni resultado
Mostrar código sin ejecutarlo
Entregar resultado en formato directo (ej: html o latex)
las opciones se anotan dentro de la llave inicial posterior a la letra r: {r [opciones]}
las opciones principales son:
{r echo=TRUE/FALSE}
{r results='markup'/'hide'}
estas opciones se visualizan al momento de procesar el documento en algún formato de salida. A este procesamiento se le denomina renderizar (del ingles render ... no hay buena traducción)
```{r}1 + 1```
(equivale a {r echo=TRUE results='markup'}
)
Renderiza
1 + 1
## [1] 2
```{r, results='hide'}1 + 1```
Renderiza:
1 + 1
```{r, echo=FALSE}1 + 1```
Renderiza :
## [1] 2
```{r echo=FALSE results='hide'}1 + 1```
No renderiza
Se usa cuando se ejecuta un comando necesario pero que no se requiere/necesita dejar visible en el documento de salida (Ej: cargar base de datos)
```{r, eval=FALSE}1 + 1```
Se puede usar para dar un ejemplo de código que no requiere ser ejecutado
```{r, results='asis'}stargazer(datos1, type="html")```
Quarto es un programa que permite renderizar documentos que contienen código (texto y análisis) a distintos formatos, tales como documentos RMarkdown
Está disponible en para R en Rstudio, pero funciona como un programa aparte también para otros lenguajes (ej: Python)
El documento se genera al presionar el botón render
(que activa función de la librería)
RStudio: File > New File > Quarto document
se puede trabajar en modo visual o en código plano (source)
al principio aparece una sección entre tres guiones (---) donde se especifican ciertas opciones del documento (se denomina YAML)
el documento aparece con un texto y código de ejemplo que se puede luego borrar / reemplazar
La conversión más simple y rápida es a html.
El resultado aparece en el visor (Viewer) de R, o se puede seleccionar otra opción de visualización desde la rueda de configuración al lado del botón render
El documento queda grabado como archivo (ej: probando.html) en el mismo directorio del archivo .qmd
Documentos dinámicos:
Documentos dinámicos en R / RStudio
cada investigador define numero de archivos, nombres, carpetas y organización
explicar al resto cómo se organiza
--> reproducibilidad y transparencia LIMITADA
estructura de carpetas y archivos interconectados que refieren a reglas conocidas
autocontenido: toda la información necesaria para la reproducibilidad se encuentra en la carpeta raíz o directorio de trabajo.
RMarkdown tiene una lógica en sí reproducible, y puede simplificar el uso de protocolos.
Si todo el procesamiento se hace en el mismo documento paper.qmd, entonces basta con la carpeta input de IPO.
Recomendación: realizar la preparación en código externo (carpeta proc) y el análisis en el paper.Rmd.
Es solo una propuesta, el sentido último es la reproducibilidad más que el cumplimiento estricto
reproducible sin necesidad de archivos externos al directorio
requisito: establecer directorio de trabajo
posición de referencia de todas las operaciones al interior del proyecto
también llamado directorio raíz
forma tradicionalen R:
setwd(ruta-a-carpeta-de-proyecto)
problemas: hace referencia a ruta local en el computador donde se está trabajando, por lo tanto no es reproducible y se debe evitar
alternativa sugerida en R: RStudio Projects
La funcionalidad Projects de RStudio permite establecer claramente un directorio de trabajo de manera eficiente
Para ello, genera un archivo de extensión .Rproj en el directorio raiz de la carpeta del proyecto
Luego se facilita acceder a la carpeta del proyecto en RStudio ejecutando desde el administrador de archivos del computador (file manager) el archivo .Rproj
para comprobar, ejecutar getwd()
y debería dar la ruta hacia la carpeta del proyecto
identificar en la carpeta respectiva el archivo .Rproj
ejecutar y se abre R / RStudio desde ese directorio como raíz
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
s | Toggle scribble toolbox |
o | Tile View: Overview of Slides |
Esc | Back to slideshow |
... alrededor de un 40%! (... varía por disciplina)
Escritura abierta:
Escritura abierta:
Flujo de trabajo documentado y reproducible
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Repositorio con datos y código de análisis abierto
Escritura abierta:
Flujo de trabajo documentado y reproducible
Carpeta de proyecto autocontenida y transferible
Repositorio con datos y código de análisis abierto
Control de versiones
Barrera de pago/licencia para acceder a contenidos (propiedad)
Difícil versionamiento y llevar registro de quién hizo qué cambio, barrera a la reproducibilidad y colaboración
No permite un documento enteramente reproducible que combine texto y código de análisis (en caso de utilizarlo)
independiente de programa comercial
independiente de plataformas específicas
permite combinar texto y análisis en un mismo documento
foco en los contenidos en lugar del formato
permite distintas opciones de formato final
entorno: editor de texto
separación entre texto de entrada (input) y texto de salida (output)
foco en el input/contenido vs output/formato
marcas de edición: vínculo entre formato de input y output
sin cortar / pegar
sistema de escritura simple de amplio uso en la academia
alta calidad en salida a pdf
creado a comienzos de los 80 (Donald Knuth, Leslie Lamport)
creado por John Gruber y Aaron Swartz en 2004
forma de escritura simple con pocas marcas de formato
conversión a distintos formatos de salida (html, pdf)
Soporta encabezados, tablas, imágenes, tablas de contenidos, ecuaciones, links ...
filosofía: foco en contenido primero, el formato después.
Control de formato | Marcas de edición | Formatos de salida | |
---|---|---|---|
LaTeX | + | + | - |
Markdown | - | - | + |
Texto en negrita entre dos astericos: **negrita**
Texto en cursiva con un asterico por lado: *cursiva*
Títulos se marcan con #
al principio, subtítulos ##
, y así sucesivamente
Imágenes: 
Links: [](link-web)
Proceso tradicional: cortar y pegar resultados en el documento de texto
Dificulta la reproducibilidad: ¿de dónde salieron esos resultados?
Ideal de reproducibilidad: documento donde se combine texto y código que genera resultados presentados.
Limitación procesadores de texto: no permiten incorporar código & resultados de manera eficiente
Limitación software de análisis: permiten incorporar texto solo en un formato plano, no publicable
Lenguaje que combina código (R) y texto (Markdown)
Hoja de código escrita en RMarkdown (documento RMarkdown)
Librería de R que provee de una serie de herramientas para generar documentos dinámicos y publicarlos
Instalar la librería (o actualizarla, si está cargada) : install.packages("rmarkdown")
Al instalarla, también incorpora otras librerías (dependencies) que permiten trabajar y publicar con RMarkdown (como knitr
y también tinitex
, que permite generación documentos pdf vía Latex).
permite incluir trozos de código (chunks) en el texto
un chunk se especifica mediante una línea de código inicial ```{r}
, y se cierra con ```
Aquí texto
```{r}1 + 1```
Aquí sigue el texto
Se pueden insertar rápidamente de la siguiente manera:
Menú en ventana de RStudio Insert > R
o, combinación Ctrl + Alt + i
Mostrar código y resultado
Mostrar solo el código
Mostrar solo el resultado
No mostrar ni código ni resultado
Mostrar código sin ejecutarlo
Entregar resultado en formato directo (ej: html o latex)
las opciones se anotan dentro de la llave inicial posterior a la letra r: {r [opciones]}
las opciones principales son:
{r echo=TRUE/FALSE}
{r results='markup'/'hide'}
estas opciones se visualizan al momento de procesar el documento en algún formato de salida. A este procesamiento se le denomina renderizar (del ingles render ... no hay buena traducción)
```{r}1 + 1```
(equivale a {r echo=TRUE results='markup'}
)
Renderiza
1 + 1
## [1] 2
```{r, results='hide'}1 + 1```
Renderiza:
1 + 1
```{r, echo=FALSE}1 + 1```
Renderiza :
## [1] 2
```{r echo=FALSE results='hide'}1 + 1```
No renderiza
Se usa cuando se ejecuta un comando necesario pero que no se requiere/necesita dejar visible en el documento de salida (Ej: cargar base de datos)
```{r, eval=FALSE}1 + 1```
Se puede usar para dar un ejemplo de código que no requiere ser ejecutado
```{r, results='asis'}stargazer(datos1, type="html")```
Quarto es un programa que permite renderizar documentos que contienen código (texto y análisis) a distintos formatos, tales como documentos RMarkdown
Está disponible en para R en Rstudio, pero funciona como un programa aparte también para otros lenguajes (ej: Python)
El documento se genera al presionar el botón render
(que activa función de la librería)
RStudio: File > New File > Quarto document
se puede trabajar en modo visual o en código plano (source)
al principio aparece una sección entre tres guiones (---) donde se especifican ciertas opciones del documento (se denomina YAML)
el documento aparece con un texto y código de ejemplo que se puede luego borrar / reemplazar
La conversión más simple y rápida es a html.
El resultado aparece en el visor (Viewer) de R, o se puede seleccionar otra opción de visualización desde la rueda de configuración al lado del botón render
El documento queda grabado como archivo (ej: probando.html) en el mismo directorio del archivo .qmd
Documentos dinámicos:
Documentos dinámicos en R / RStudio
cada investigador define numero de archivos, nombres, carpetas y organización
explicar al resto cómo se organiza
--> reproducibilidad y transparencia LIMITADA
estructura de carpetas y archivos interconectados que refieren a reglas conocidas
autocontenido: toda la información necesaria para la reproducibilidad se encuentra en la carpeta raíz o directorio de trabajo.
RMarkdown tiene una lógica en sí reproducible, y puede simplificar el uso de protocolos.
Si todo el procesamiento se hace en el mismo documento paper.qmd, entonces basta con la carpeta input de IPO.
Recomendación: realizar la preparación en código externo (carpeta proc) y el análisis en el paper.Rmd.
Es solo una propuesta, el sentido último es la reproducibilidad más que el cumplimiento estricto
reproducible sin necesidad de archivos externos al directorio
requisito: establecer directorio de trabajo
posición de referencia de todas las operaciones al interior del proyecto
también llamado directorio raíz
forma tradicionalen R:
setwd(ruta-a-carpeta-de-proyecto)
problemas: hace referencia a ruta local en el computador donde se está trabajando, por lo tanto no es reproducible y se debe evitar
alternativa sugerida en R: RStudio Projects
La funcionalidad Projects de RStudio permite establecer claramente un directorio de trabajo de manera eficiente
Para ello, genera un archivo de extensión .Rproj en el directorio raiz de la carpeta del proyecto
Luego se facilita acceder a la carpeta del proyecto en RStudio ejecutando desde el administrador de archivos del computador (file manager) el archivo .Rproj
para comprobar, ejecutar getwd()
y debería dar la ruta hacia la carpeta del proyecto
identificar en la carpeta respectiva el archivo .Rproj
ejecutar y se abre R / RStudio desde ese directorio como raíz