R Language
Creación de informes con RMarkdown
Buscar..
Mesas de impresion
Hay varios paquetes que permiten la salida de estructuras de datos en forma de tablas HTML o LaTeX. En su mayoría difieren en la flexibilidad.
Aquí utilizo los paquetes:
- Knitr
- mesa
- alcahuete
Para documentos HTML
---
title: "Printing Tables"
author: "Martin Schmelzer"
date: "29 Juli 2016"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(xtable)
library(pander)
df <- mtcars[1:4,1:4]
```
# Print tables using `kable`
```{r, 'kable'}
kable(df)
```
# Print tables using `xtable`
```{r, 'xtable', results='asis'}
print(xtable(df), type="html")
```
# Print tables using `pander`
```{r, 'pander'}
pander(df)
```
Para documentos PDF
---
title: "Printing Tables"
author: "Martin Schmelzer"
date: "29 Juli 2016"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(knitr)
library(xtable)
library(pander)
df <- mtcars[1:4,1:4]
```
# Print tables using `kable`
```{r, 'kable'}
kable(df)
```
# Print tables using `xtable`
```{r, 'xtable', results='asis'}
print(xtable(df, caption="My Table"))
```
# Print tables using `pander`
```{r, 'pander'}
pander(df)
```
¿Cómo puedo detener xtable imprimir el comentario delante de cada tabla?
options(xtable.comment = FALSE)
Incluyendo los Comandos de Preample de LaTeX
Hay dos formas posibles de incluir los comandos del preámbulo de LaTeX (por ejemplo, \usepackage
) en un documento de RMarkdown.
1. Usando el header-includes
opción YAML header-includes
:
---
title: "Including LaTeX Preample Commands in RMarkdown"
header-includes:
- \renewcommand{\familydefault}{cmss}
- \usepackage[cm, slantedGreek]{sfmath}
- \usepackage[T1]{fontenc}
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, external=T)
```
# Section 1
As you can see, this text uses the Computer Moden Font!
2. Incluyendo Comandos Externos con includes
, in_header
---
title: "Including LaTeX Preample Commands in RMarkdown"
output:
pdf_document:
includes:
in_header: includes.tex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, external=T)
```
# Section 1
As you can see, this text uses the Computer Modern Font!
Aquí, el contenido de includes.tex son los mismos tres comandos que incluimos con header-includes
.
Escribiendo una plantilla completamente nueva.
Una posible tercera opción es escribir su propia plantilla de LaTex e incluirla en la template
. Pero esto cubre mucho más de la estructura que solo el preámbulo.
---
title: "My Template"
author: "Martin Schmelzer"
output:
pdf_document:
template: myTemplate.tex
---
Incluyendo bibliografías
Un catálogo bibtex puede incluirse fácilmente en la bibliography:
opción YAML bibliography:
Un cierto estilo para la bibliografía se puede agregar con biblio-style:
Las referencias se añaden al final del documento.
---
title: "Including Bibliography"
author: "John Doe"
output: pdf_document
bibliography: references.bib
---
# Abstract
@R_Core_Team_2016
# References
Estructura básica del documento R-markdown
R-markdown código trozos
R-markdown es un archivo de rebajas con bloques incrustados de código R llamados fragmentos . Hay dos tipos de fragmentos de código R: en línea y en bloque .
Los fragmentos en línea se agregan usando la siguiente sintaxis:
`r 2*2`
Se evalúan e insertan su respuesta de salida en su lugar.
Los bloques de bloques tienen una sintaxis diferente:
```{r name, echo=TRUE, include=TRUE, ...}
2*2
````
Y vienen con varias opciones posibles. Aquí están los principales (pero hay muchos otros):
- Los controles de eco (booleano) se incluirán en el documento.
- incluye controles (booleanos) si la salida debe incluirse en el documento
- fig.width (numérico) establece el ancho de las cifras de salida
- fig.height (numérico) establece la altura de las cifras de salida
- fig.cap (carácter) establece las leyendas de las figuras
Se escriben en un formato simple de tag=value
como en el ejemplo anterior.
Ejemplo de documento R-markdown
A continuación se muestra un ejemplo básico del archivo R-markdown que ilustra la forma en que se insertan los fragmentos de código R dentro de r-markdown.
# Title #
This is **plain markdown** text.
```{r code, include=FALSE, echo=FALSE}
# Just declare variables
income <- 1000
taxes <- 125
```
My income is: `r income ` dollars and I payed `r taxes ` dollars in taxes.
Below is the sum of money I will have left:
```{r gain, include=TRUE, echo=FALSE}
gain <- income-taxes
gain
```
```{r plotOutput, include=TRUE, echo=FALSE, fig.width=6, fig.height=6}
pie(c(income,taxes), label=c("income", "taxes"))
```
Convertir R-markdown a otros formatos
El paquete R knitr
se puede utilizar para evaluar los fragmentos R dentro del archivo R-markdown y convertirlo en un archivo de reducción normal.
Los siguientes pasos son necesarios para convertir el archivo R-markdown en pdf / html:
- Convierta el archivo R-markdown en un archivo markdown usando
knitr
. - Convierta el archivo de rebaja obtenido a pdf / html usando herramientas especializadas como pandoc .
Además del paquete knitr
anterior, tiene las funciones de envoltura knit2html()
y knit2pdf()
que se pueden usar para producir el documento final sin el paso intermedio de convertirlo manualmente al formato de rebaja:
Si el archivo de ejemplo anterior se guardó como income.Rmd
se puede convertir en un archivo pdf
utilizando los siguientes comandos R:
library(knitr)
knit2pdf("income.Rmd", "income.pdf")
El documento final será similar al de abajo.