Es gibt mehrere Pakete mit denen man R Objekte in HTML einbinden kann. Hier eine Auswahl:
R2HTML
Mit dem Paket R2HTML
von Eric Lecoutre und Sweave()
aus dem Paket utils
von Friedrich Leisch kann man R-Code in HTML einbinden.
- Man installiere, wenn noch nicht geschehen, die Pakete
R2HTML
undutils
. -
Nun erstellt man ein HTML-Dokument. Vor den R-Code kommt <<Optionen>>= und dahinter ein @. Zwischen diesen Marken darf nur R-Code stehen. Man kann folgende Optionen durch Kommata getrennt angeben, man kann sie aber auch weglassen.
echo=false
nur die Resultate von R (keine Eingabe) results=html
andere HTML-Formatierung als ohne results=hide
nur die Eingabe in R (keine Resultate) fig=true
ein Bild (.png) wird eingebunden -
Jetzt wird die Dateiendung von .html in .rnw geändert. Die Datei sollte nun wie folgt aussehen.
Beispiel.rnw:<html>
<body>
<h1>Beispiel</h1>
<p>
<<results=html>>=
x<-1:4
x
x+1
y<-1:4
@
<<fig=true>>=
plot(x,y)
@
</p>
</body>
</html> -
Man lade die Pakete z. B. mit
require()
und setze eventuell den Pfad des Arbeitsverzeichnis' mitsetwd()
um. Nun schickt man die Datei mit:
Sweave("Beispiel.rnw", driver=RweaveHTML())durch R. Die fertige HTML-Datei wird im gleichen Arbeitsverzeichnis wie die Ursprungsdatei gespeichert.
-
Das Ergebnis sieht so aus:
Beispiel
HTML-Code
<html>
<link rel=stylesheet type=text/css href=R2HTML.css><body>
<h1>Beispiel</h1>
<!-- begin{Schunk} !-->
<!-- begin{Sinput} !-->
<p><xmp class=command>> x <- 1:4</xmp></p>
<p><xmp class=command>> x</xmp></p>
<!-- end{Sinput} !-->
1 2 3 4<!-- begin{Sinput} !-->
<p><xmp class=command>> x + 1</xmp></p>
<!-- end{Sinput} !-->
2 3 4 5<!-- begin{Sinput} !-->
<p><xmp class=command>> y <- 1:4</xmp></p>
<!--\end{Sinput}!-->
<!--\end{Schunk}!-->
<!-- begin{Schunk} !-->
<!-- begin{Sinput} !-->
<p><xmp class=command>> plot(x, y)</xmp></p>
<!--\end{Sinput}!-->
<!--\end{Schunk}!-->
<p align="center"><img height= width= src="imgs/r2html-002.png"></p></p>
</body>
</html>Ausgabe
> x <- 1:4 > x 1 2 3 4> x + 1 2 3 4 5> y <- 1:4 > plot(x, y) Man kann die Ausgabe noch weiter seinen Wünschen anpassen, siehe dazu das reference manual [1].
hwriter
Mit dem Paket hwriter
von Gregoire Pau kann man ganze HTML-Dateien ganz einfach mit R schreiben.
-
Man installiere, wenn noch nicht geschehen, das Paket hwriter.
-
Das folgende Beispiel kann man einfach in die R Konsole kopieren. Mit
Beispiel.htmlsetwd()
den Pfad setzen und schon kann man mit der FunktionbrowseURL()
aus dem Paketutils
, direkt aus der R Konsole heraus, die fertige HTML-Datei im Browser öffnen.require(hwriter)
wd<-setwd("...")
p<-openPage("Beispiel.html",dirname=wd,title="Titel")
hwrite("Hier eine kleine Matrix:",page=p)
hwrite(cbind(1:10,21:30,50:41),page=p,row.bgcolor="#B7F8B3")
hwrite(c(1:10,21:30,50:41),page=p,table=FALSE)
closePage(p,splash=FALSE)
browseURL("Beispiel.html") -
Hier das Ergebnis:
-
Man kann CSS-Dateien einbinden oder direkt in der Funktion
hwrite()
CSS angeben. Siehe dazu einige Beispiele bei [6].
Quellen: | |
[1] | R2HTML, Download, reference manual http://cran.r-project.org/web/packages/R2HTML/index.html Zugriff: 13.6.2009 |
[2] | Lecoutre, Eric (2003). The R2HTML Package. R News, Vol 3. N. 3, Vienna, Austria. http://cran.r-project.org/doc/Rnews/Rnews_2003-3.pdf Zugriff: 13.6.2009 |
[3] | Friedrich Leisch. Sweave: Dynamic generation of statistical reports using literate data analysis. In Wolfgang H rdle and Bernd R nz, editors, Compstat 2002 - Proceedings in Computational Statistics, pages 575-580. Physica Verlag, Heidelberg, 2002. ISBN 3-7908-1517-9. http://www.statistik.lmu.de/~leisch/Sweave/Sweave-compstat2002.pdf Zugriff: 13.6.2009 |
[4] | Sweave User Manual, FAQ http://www.statistik.lmu.de/~leisch/Sweave/ Zugriff: 13.6.2009 |
[5] | hwriter: HTML Writer, Download, reference manual, Gregoire Pau http://cran.r-project.org/web/packages/hwriter/ Zugriff: 30.6.2009 |
[6] | Kleine Beispiele, sehr übersichtlich http://www.ebi.ac.uk/~gpau/hwriter/ Zugriff: 30.6.2009 |
30.6.2009 (R: 2.9.0)