2014-11-08 9 views
6

sto facendo alcune diapositive all'interno Rstudio seguenti istruzioni qui: http://rmarkdown.rstudio.com/beamer_presentation_format.htmlformato all'interno del codice R pezzo

Come faccio a definire la dimensione del testo, i colori, e "flusso" numeri in due colonne?

```{r,results='asis', echo=FALSE} 
rd <- sample(x=1e6:1e7, size = 10, replace = FALSE) 
cat(rd, sep = "\n") 

``` 

uscita è HTML (ioslides) o PDF (Beamer)

Aggiornamento:

Attualmente il codice di cui sopra sarà solo dare qualcosa di simile al seguente

6683209 
1268680 
8412827 
9688104 
6958695 
9655315 
3255629 
8754025 
3775265 
2810182 

I non può fare nulla per cambiare la dimensione del testo, colore o metterli in una tabella. L'output di R codechunk è semplicemente testo. Forse è possibile metterli in una tabella in effetti, come detto in questo post:

http://tex.aspcode.net/view/635399273629833626273734/dynamically-format-labelscolumns-of-a-latex-table-generated-in-rknitrxtable

Ma io non so circa la dimensione del testo e il colore.

Aggiornamento 2:

L'idea tessitura codice HTML nativo di uscita R è molto utile. Non ci ho pensato. Questo però funziona solo se voglio esportare HTML. Per l'output PDF, devo tessere il codice nativo Latex con l'output R. Ad esempio, il seguente codice funziona utilizzando l'uscita "knitr PDF":

```{r,results='asis', echo=FALSE} 
cat("\\textcolor{blue}{") 
rd <- sample(x=1e6:1e7, size = 10, replace = FALSE) 
for (n in rd) { 
cat(paste0(n, '\\newline \n')) } 
cat("}") 
``` 

risposta

9

Si utilizza 'Asis' risultati =, quindi, si può semplicemente utilizzare print() e la formattazione di markup. Se vuoi che il tuo testo sia rosso, fai semplicemente:

```{r,results='asis', echo=FALSE} 
print("<div class='red2'>") 
rd <- sample(x=1e6:1e7, size = 10, replace = FALSE) 
cat(rd, sep = "\n") 
print("</div>") 
``` 

Spero che sia d'aiuto.

+2

'print' potrebbe non funzionare ma' cat' fa. Ho aggiornato la mia domanda per rispecchiare la tua risposta. Grazie e decido di premiarti la taglia. – biocyberman

3

Sembra che si desideri che l'output sia PDF o HTML. Una possibilità è il pacchetto xtable. Produce tabelle in formato PDF o HTML. Non esiste un modo (indipendente dall'output) per specificare il colore, tuttavia. Ecco un esempio.

xt <- xtable(data.frame(a=1:10)) 
print(xt, type="html") 
print(xt) # Latex default 

Un'altra opzione è la funzione pandoc.table dal pacchetto pander. È necessario il binario pandoc installato. Se hai RStudio, lo hai già. La funzione sputa un markdown che può essere convertito in HTML o PDF per pandoc.

Ecco come è possibile utilizzare questo da RStudio. Creare un documento RMarkdown come questo:

--- 
title: "Untitled" 
author: "You" 
date: "20 November 2014" 
output: html_document 
--- 


```{r, results='asis'} 
library(pander) 
tmp <- data.frame(a=1:10,b=1:10) 
pandoc.table(tmp) 
``` 

Quando si fa clic su "HTML maglia", sarà sputare fuori un bel documento HTML. Se cambi l'output in pdf_document, sputerà un bel PDF. Puoi modificare le opzioni per cambiare output, ad es.

pandoc.table(tmp, emphasize.strong.rows=c(2,4,6,8,10)) 

e questo funzionerà sia in PDF che in HTML. (Ancora nessuna opzione per cambiare il colore.) Compiti a casa: correggere pandoc.table per consentire colori arbitrari.)

Sotto il cofano, knitr sta scrivendo markdown e pandoc sta convertendo il markdown in qualsiasi cosa tu voglia.

+0

La tua risposta introduce anche l'idea di miscelare il codice del documento di destinazione nativo (ad esempio HTML/Latex). Grazie per aver reintrodotto il pacchetto 'xtable' per me. Ma come hai detto la parte della formattazione dei colori non è chiara. – biocyberman