2014-11-08 6 views
6

Ich mache ein paar Dias innen Rstudio folgende Anweisungen hier: http://rmarkdown.rstudio.com/beamer_presentation_format.htmlFormat Text innerhalb R Code Chunk

Wie definiere ich die Textgröße, Farben und „Flow“ folgende Zahlen in zwei Spalten?

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

``` 

Ausgang ist entweder HTML (ioslides) oder PDF (Beamer)

Update:

Zur Zeit der Code oben wird nur so etwas wie die folgenden

6683209 
1268680 
8412827 
9688104 
6958695 
9655315 
3255629 
8754025 
3775265 
2810182 

Ich gebe kann nichts tun, um Textgröße, Farbe oder in eine Tabelle zu legen. Die Ausgabe von R-Code-Chunk ist nur einfacher Text. Vielleicht ist es möglich, sie in einer Tabelle in der Tat zu setzen, wie es an diesem Beitrag erwähnt:

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

Aber ich weiß nicht, über die Textgröße und Farbe.

Update 2:

Die Idee nativen HTML-Code R Ausgang Weben ist sehr nützlich. Daran habe ich nicht gedacht. Dies funktioniert jedoch nur, wenn ich HTML ausgeben möchte. Für die PDF-Ausgabe muss ich den nativen Latex-Code mit R-Ausgabe weben. Zum Beispiel nach dem Code funktioniert "knitr PDF" -Ausgabe mit:

```{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("}") 
``` 

Antwort

9

Sie sind Ergebnisse = 'asis' verwenden, damit können Sie einfach print() und Formatierung Markup verwenden. Wenn Sie möchten, dass Ihr Text rot ist, tun Sie einfach:

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

Ich hoffe, es hilft.

+2

'print' funktioniert möglicherweise nicht, aber' cat' tut. Ich habe meine Frage aktualisiert, um deine Antwort zu reflektieren. Danke und ich beschließe, Ihnen das Kopfgeld zu geben. – biocyberman

3

Es klingt, als ob die Ausgabe entweder PDF oder HTML sein soll. Eine Möglichkeit ist das xtable Paket. Es erzeugt Tabellen entweder im PDF- oder HTML-Format. Es gibt jedoch keine (ausgabeunabhängige) Möglichkeit zur Angabe von Farben. Hier ist ein Beispiel.

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

Eine weitere Option ist die pandoc.table Funktion aus dem pander Paket. Sie benötigen die pandoc Binärdatei installiert. Wenn Sie RStudio haben, haben Sie dies bereits. Die Funktion spuckt einen Abschlag aus, der dann durch pandoc in HTML oder PDF konvertiert werden kann.

So können Sie das von RStudio verwenden. Erstellen Sie ein RMarkdown Dokument wie folgt aus:

--- 
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) 
``` 

Wenn Sie „stricken HTML“ klicken, wird es eine schöne HTML-Dokument ausspucken. Wenn Sie die Ausgabe in pdf_document ändern, wird ein schönes PDF ausgegeben. Sie können die Optionen bearbeiten, um die Ausgabe zu ändern - z.

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

und dies funktioniert sowohl in PDF oder HTML. (Immer noch keine Optionen, um die Farbe zu ändern. Hausaufgabe: Fix pandoc.table um beliebige Farben zu ermöglichen.)

Unter der Haube, knitr schreibt Markdown, und pandoc konvertiert den Markdown zu was auch immer Sie mögen.

+0

Ihre Antwort führt auch die Idee ein, nativen Zieldokumentcode (d. H. HTML/Latex) zu mischen. Vielen Dank für die erneute Einführung des 'xtable' Pakets für mich. Aber wie Sie gesagt haben, ist der Teil der Formatierung von Farben nicht klar. – biocyberman