R und HTML

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.

  1. Man installiere, wenn noch nicht geschehen, die Pakete R2HTML und utils.
  2. 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
  3. 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>
  4. Man lade die Pakete z. B. mit require() und setze eventuell den Pfad des Arbeitsverzeichnis' mit setwd() um.

  5. 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.

  6. 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)

    Abb. 1: Grafik von plot(x,y)

  7. Man kann die Ausgabe noch weiter seinen Wünschen anpassen, siehe dazu das reference manual [1].


zurück


hwriter

Mit dem Paket hwriter von Gregoire Pau kann man ganze HTML-Dateien ganz einfach mit R schreiben.

  1. Man installiere, wenn noch nicht geschehen, das Paket hwriter.

  2. Das folgende Beispiel kann man einfach in die R Konsole kopieren. Mit setwd() den Pfad setzen und schon kann man mit der Funktion browseURL() aus dem Paket utils, direkt aus der R Konsole heraus, die fertige HTML-Datei im Browser öffnen.

    Beispiel.html
    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")
  3. Hier das Ergebnis:

    Abb. 2: Beispiel HTML-Seite

  4. Man kann CSS-Dateien einbinden oder direkt in der Funktion hwrite() CSS angeben. Siehe dazu einige Beispiele bei [6].


zurück


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 Hrdle and Bernd Rnz, 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)