Manual avanzado de R markdown

Tabla de contenidos

  1. Introducción.
  2. Fórmulas matemáticas en R markdown.
  3. Parámetros de las chunks de R.
  4. Las chunks en modo linea.

1- Introducción

Para lo que queremos que aprendáis este curso el Markdown Quick Reference es suficiente. Pero os tenemos que ayudar un poco más con las fórmulas matemáticas, el formato que se puede dar a las chunks de R.

2- Fórmulas matemáticas en R markdown

La manera de introducir fórmulas matemáticas en R Markdown es la misma que la que habéis visto que algunos alumnos y profesores utilizan en los foros de Moodle. De hecho esta capacidad la tiene Moodle pues tiene activado su propio lenguaje markdown.

No tiene ningún misterio. Solo tenemos que introducir un código que representa la fórmula de dos formas:

  1. Para las fórmulas o ecuaciones en una misma linea (inline equations) se pone el código entre dos dólares: $ código $
  2. Para las fórmulas o ecuaciones entre líneas (display equations) se pone el código entre dos dólares: $$ código $$

A continuación se muestran algunos ejemplos de código:

2.1 Fórmulas

Letras griegas y acentos matemáticos

Subíndices, superíndices, comparaciones:

Fracciones

Paréntesis, corchetes y llaves:

Código:

$\left[\overline{X} -z_{1-\frac{\alpha}{2}} \frac{\sigma}{\sqrt{n}}, \overline{X}+z_{1-\frac{\alpha}{2}}\frac{\sigma}{\sqrt{n}}
\right]$

Salida:

\( \left[\overline{X} -z_{1-\frac{\alpha}{2}} \frac{\sigma}{\sqrt{n}}, \overline{X}+z_{1-\frac{\alpha}{2}}\frac{\sigma}{\sqrt{n}} \right] \)

2.2 Matrices

Las matrices se definen empezando con \begin{array}{lcr} y acabando con \end{array}. La letras lcr entre llaves indican tanto el número de columnas como si se alinean a izquierda (left), derecha (right) o quedan centradas (center). Entre el \begin{array}{lcl} y el \end{array} se introducen por filas los valores de la matriz separados por el símbolo & y el cambio de fila se indica con \\. En principio las matrices contienen fórmulas. Si queremos introducir texto en una fórmula tenemos que crear una caja de texto con la instrucción \mbox{ pon aquí tu texto} (mbox es el la abreviatura de make a box)

$
\left(
\begin{array}{ll}
123 & 4 \\
1   & 234
\end{array}
\right)
$

Salida:

\[ \left( \begin{array}{ll} 123 & 4 \\ 1 & 234 \end{array} \right) \]

$
\left\{
\begin{array}{ll}
123 & 4 \\
1   & 234\mbox{ dato atípico}
\end{array}
\right\}
$

Salida:

\[ \left\{ \begin{array}{ll} 123 & 4 \\ 1 & 234 \mbox{ dato atípico} \end{array} \right\} \]

Si queremos eliminar una llave del lado derecho hay que escribir

\left\{\right.

Notad que el punto de \right. es el que indica se tiene que omitir la llave (o préntesis o corchete) derecha. Por ejemplo

$$
\left\{
\begin{array}{ll}
123 & 4  \\
1   & 234 \mbox{ dato atípico}
\end{array}
\right.
$$

Salida:

\[ \left\{ \begin{array}{ll} 123 & 4 \\ 1 & 234 \mbox{ dato atípico} \end{array} \right. \]

2.3 Contrastes de hipótesis

Ahora unas plantillas ejemplo para escribir los contrastes de hipótesis:

En la misma linea que el texto.

Con el modo fórmulas entre lineas

Código: Vamos a realizar el siguiente contraste

$$
\left\{
\begin{array}{ll}
H_{0}: &  \mu=\mu_0\\
H_{1}: & \mu\neq\mu_0
\end{array}
\right.
$$

Salida:

Vamos a realizar el siguiente contraste

\[ \left\{ \begin{array}{ll} H_{0}: & \mu=\mu_0\\ H_{1}: & \mu\neq\mu_0 \end{array} \right. \]

3- Parámetros de las chunks de R

Sabemos que las chunks de R se indican

` ` `{r}
x=1+1
x
` ` `

La parte entre llaves que empieza por r puede contener diversos parámetros que son opcionales. Por ejemplo

` ` `{r etiqueta, echo=TRUE,results=hide}
x=1+1
x
` ` `

La primera es una etiqueta o nombre que tendrá la chunk, y está formada por una blanco que lo separa de la r seguido por una cadena de caracteres sin blancos, las demás opciones viene separadas por comas.

Los siguientes ejemplos ilustran el comportamiento de estas opciones

La opción por defecto es la que muestra todo, tanto el código como los resultados.

` ` `{r todo_se_ve, echo=TRUE,results='markup'}
x=1+1
x
` ` `

x = 1 + 1
x
## [1] 2

Para que se vea solamente el código

` ` `{r solo_codigo, echo=TRUE,results='hide'}
x=1+1
x
` ` `

x = 1 + 1
x

Para que se vean solamente los resultados y no el código

` ` `{r solo_resultados, echo=FALSE,results='markup'}
x=1+1
x
` ` `

## [1] 2

Para que no se vea nada, ni el resultado ni el código

` ` `{r nada, echo=FALSE,results='hide'}
x=1+1
x
` ` `

Y como se ve no se ve nada:-)

4- Las chunks en modo linea

Las chunks que hemos visto hasta ahora no permiten introducir resultados dentro de una linea de texto. La sintaxis de Rmarkdown para insertar resultados de código en un la linea es ` r código `.

Por ejemplo la entrada

El resultado de \( 2^{3} \) es ` r 23 `. O lo que es lo mismo $2^3$= ` r 23 `

produce la salida

El resultado el cubo de dos es 8. O lo que es lo mismo \( 2^3 \)=8

Veamos un ejemplo más práctico. Nos dan una muestra y nos piden calcular la media, la varianza y la longitud de la muestra. Primero cargamos los datos y hacemos los cálculos con una chunk

muestra = c(1, 2, 3, NA, 2.8, 3.1, 4.9)
muestra
## [1] 1.0 2.0 3.0  NA 2.8 3.1 4.9
media = mean(muestra, na.rm = TRUE)
media
## [1] 2.8
var = var(muestra, na.rm = TRUE)
var
## [1] 1.684
desv.tipica = sd(muestra, na.rm = TRUE)
desv.tipica
## [1] 1.298
n = length(na.omit(muestra))
n
## [1] 6

El siguiente código de entrada

La muestra es de tamaño $n$=`r n`, su media es $\overline{x}$ =`r media`,
su varianza es $\tilde{s}\^2$=`r var` y su desviación típica es  $\tilde{s}$=`r desv.tipica`.

produce la salida

La muestra es de tamaño \( n \)=6, su media es \( \overline{x} \)=2.8, su varianza es \( \tilde{s}^2 \)=1.684 y su desviación típica es \( \tilde{s} \)=1.2977.

Con esto terminamos esta pequeña introducción de algunos pequeños aspectos más avanzados de Rmarkdown. En futuras lecciones y talleres iremos avanzando en otros aspectos. Más adelante, de momento no perdáis el tiempo, daremos referencias a manuales avanazados.