2015-10-24 34 views
6

In Knitr voglio aggiungere una (piccola) frame di dati da una tabella utilizzando il pacchetto kable:Visualizzare un frame di dati come tabella in R Markdown

```{r kable} 
dset1 <- read.csv("/home/runlevel0/edx_statsAP/mod1d_cor_dset01.csv") 

knitr::kable(dset1,format="html") 
[...] 
``` 

Questo restituisce una tabella compatta ma piuttosto brutto, mentre il il formato "markdown" restituisce una bella tabella ma copre l'intera pagina.

Ho trovato il "manuale" knitr ma non è troppo utile in quanto non copre le opzioni di formattazione aggiuntive per ogni formato.

Quindi la mia domanda: come posso cambiare la dimensione di un tavolo di knitr o anche meglio, sono riuscito a ottenere queste informazioni?

risposta

12

L'approccio generale sarebbe utilizzare il proprio CSS personalizzato e includerlo nella YAML all'inizio del documento.

Si può effettivamente fare questo all'interno del documento, ma suggerirei di modificare il CSS al di fuori del documento e di lavorare da lì.

Ecco un esempio minimo:

--- 
title: "Test" 
date: "24 October 2015" 
output: 
    html_document: 
    css: mystyle.css 
--- 

```{r, results='asis'} 
writeLines("td, th { padding : 6px } th { background-color : brown ; color : white; border : 1px solid white; } td { color : brown ; border : 1px solid brown }", con = "mystyle.css") 
dset1 <- head(ToothGrowth) 
knitr::kable(dset1, format = "html") 
``` 

Questo dovrebbe:

  1. Creare un file denominato "miostile.css" con il vostro stile CSS rilevanti.
  2. Produci qualcosa che assomigli al seguente.

enter image description here