htmlize {prettyR} | R Documentation |
Produces HTML output from an R script.
htmlize(Rfile,HTMLbase,HTMLdir,title, bgcolor="#dddddd",echo=FALSE,do.nav=FALSE,useCSS=NULL,...)
Rfile |
The R script file from which to read the commands. |
HTMLbase |
The base name for the HTML files (see Details). |
HTMLdir |
The directory in which to write the HTML output. |
title |
The title of the HTML page and the headings for the frames. |
bgcolor |
The background color for the frames. |
echo |
Whether to include ("echo") the commands in the listing. |
do.nav |
Whether to have a navigation window. |
useCSS |
The name of a CSS stylesheet that will define the appearance of components of the HTML display. If this is not NULL, the CSS file should exist. |
... |
Additional arguments - currently ignored. |
htmlize
allows the user to produce a basic HTML listing from
an existing R script. The script must already run correctly with
source
.
If there is any graphic output, the script must contain the necessary commands to set up the graphic devices. Note that only TIFF, GIF, BMP, JPEG and PNG graphic images are generally viewable in HTML browsers. The last two are probably the most reliable, but see their help pages for more details. The graphic files will be linked to the HTML listing page so that they should be interleaved with text output and commands.
If do.nav
is TRUE, three files will be output. The first will
be named HTMLbase.html
, where HTMLbase
is whatever string
has been passed as that argument.
If that argument is missing, the function will attempt to munge the
Rfile
argument into a base name. This file is an "index" file
that sets up the HTML frameset. The second file will be named
HTMLbase_nav.html
and will be dispayed at the left side of the HTML
output as a "navigation" list using the commands as names. Commands
longer than 20 characters will be truncated. The third file, named
HTMLbase_list.html
, contains the program listing. All three
files will be written in HTMLdir
. If this is missing, the path of
Rfile
will be used.
If do.nav
is FALSE, only one file will be written. It will have
the same content as the HTMLbase_list.html
file except without
the name tags for navigation and it will be named HTMLbase.html
.
Commands that create or alter connections, such as sink
are
"forbidden", not evaluated and marked as comments in the listing.
This prevents such commands from altering the connections necessary
to write the HTML files.
If there is a function defined in the R script, htmlize
will run, but
not write any output after the function definition. This has to do with the
way that htmlize
reads command lines from the script file. This is a
bug, so watch this space for a solution.
The ability to nominate a CSS stylesheet allows the user to customize the
appearance of the HTML output. The most likely use of the useCSS
argument is for the user to specify whatever aspects of the HTML display
are to be different from the default browser values in a stylesheet.
nil
As of version 1.1, both echo
and do.nav
are FALSE by default,
as these defaults seem to be more popular.
The major differences between htmlize
and R2html
are:
htmlize
will run with a minimum of one argument (Rfile
)
and produces very basic HTML output. It requires the graphic devices to be
set up as commands in the R script.
R2html
does not require commands for graphic devices, just
comments at the end of any line that requires graphic output to the HTML
file. It color codes commands and output and is more careful about the
content of lines it writes.
Jim Lemon with improvements by Phillipe Grosjean
rcon<-file("test.R","w") cat("test.df<-data.frame(a=factor(sample(LETTERS[1:4],100,TRUE)),\n", file=rcon) cat(" b=sample(1:4,100,TRUE),c=rnorm(100),d=rnorm(100))\n",file=rcon) cat("describe(test.df)\n",file=rcon) cat("print(freq(test.df$a))\n",file=rcon) cat("xtab(a~b,test.df)\n",file=rcon) cat("brkdn(c~b,test.df)\n",file=rcon) cat("png(\"hista.png\")\nhist(test.df$b)\ndev.off()\n",file=rcon) cat("png(\"plotcd.png\")\nplot(test.df$c,test.df$d)\ndev.off()\n",file=rcon) close(rcon) # call htmlize with minimal arguments htmlize("test.R") # if you want to see the output, use the following line # system(paste(options("browser")," file:",getwd(),"/test.html",sep="",collapse="")) # to clean up, use the following line # system("rm test.R test.html test_nav.html test_list.html hista.png plotcd.png")