Sintaxis Markdown

Markdown es una herramienta de conversión de texto plano a HTML.

Pero también puedes considerar Markdown como un método de escritura.

Por ejemplo, puedes escribir algo en cursiva así.

O introduce un comando de código en mitad de tu texto.

Sintaxis Se convierte en…
Texto plano Texto plano
*cursiva* o _cursiva_ cursiva o cursiva
**negrita** o __negrita__ negrita o negrita
**_negrita y cursiva_** negrita y cursiva
superíndice^2^ superíndice2
~~texto tachado~~ texto tachado
[link](www.rstudio.com) link
ecuación: $A = \pi*r^{2}$ ecuación: \(A = \pi*r^{2}\)
![](path/de/imagen.png/)

Además, con markdown podemos dar estructura a nuestro documento con diferentes títulos y subtítulos:

Título

Subtítulo

Sub-subtítulo

Y también podemos usar diferentes tipos de listas:

  • Item 1

  • Item 2

    • Item 2a

    • Item 2b

  1. Item 1

  2. Item 2. Los números de la lista incrementan automáticamente en el output

Además, también podemos usar notas al pie:

Esto es una nota al pie simple1.

Una nota también puede tener múltiples líneas2.

También puedes utilizar palabras, para ajustarte más a tu estilo de escritura3.

E introducir bloques de “cita”:

Mi cita

Así como tablas

First Header Second Header
Content Cell Content Cell
Content Cell Content Cell

RMarkdown

Con {RMarkdown} podemos integrar en un mismo documento texto Markdown con código de R, así como el output de este código.

Para ello, RMarkdown usa lo que conocemos como trozos o “chunks”. Haz un chunk de código con tres acentos hacia atrás seguidos por una r entre llaves. Termina el trozo con tres acentos de nuevo.

2+2
## [1] 4

Alternativamente, puedes usar la interfaz de RStudio (Code/Insert chunk).

Dentro de estos chunks, podemos incluir cualquier código de R. Incluido gráficos:

library(ggplot2)
library(palmerpenguins)
ggplot(data = penguins,
       mapping = aes(x = flipper_length_mm,
                     y = body_mass_g)) +
  geom_point(aes(color = species)) +
  geom_smooth(method = "lm") +
  labs(
    title = "Masa corporal y longitud del pico",
    x = "longitud del pico (mm)",
    y = "masa corporal (g)",
    color = "especie"
  )
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 2 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 2 rows containing missing values (`geom_point()`).

Opciones de chunks de código

Identificador

La práctica recomendada es incluir un nombre corto y único dentro de cada chunk. Esto será especialmente beneficioso a la hora de identificar errores. El “nombre” no se especifica como argumento dentro del encabezado; Simplemente está separado de la “r” por un espacio. Por ejemplo, en el siguiente chunk, vamos a añadir el identificador “addition”

2+2
## [1] 4

echo

Un valor lógico (verdadero o falso) que indica si el chunk debe estar visible en el documento final. De forma predeterminada, el chunk es visible. Para ocultarlo, debemos hacer echo=FALSE:

## [1] 0

message y warning

El uso de message=FALSE y/o warning=FALSE suprimirá los mensajes y advertencias, impidiendo que se impriman en el documento representado. Compara estos dos ejemplos:

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.3     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Podemos suprimir estos mensajes si añadimos message=FALSE al encabeezado del chunk:

library(tidyverse)

La combinación de esto con el comando echo puede ser útil por ejemplo cuando queremos añadir un gráfico pero no todo el código que lo genera:

include

Por último, podemos decidir no incluir un chunk por algún motivo en el documento final. Si añadimos include=FALSE al encabezado de un chunk, este chunk se ignorará y no será ejecutado a la hora de crear el documento final. Por defecto, todos los chunks se incluyen a no ser que se especifique lo contrario.


  1. Mi referencia.↩︎

  2. Cada nueva línea tiene que ser precedida por 2 espacios.
    Esto permite tener notas al pie con varias líneas.↩︎

  3. Las notas a pie de página con nombre seguirán mostrando números en lugar del texto, pero permitirán identificarlas y enlazarlas más fácilmente.
    Esta nota al pie también se ha hecho con una sintaxis diferente utilizando 4 espacios para las nuevas líneas.↩︎