This short R Markdown document illustrates how
tables in HTML.
First, you need to load
that it uses print banner messages, so you'll
usually want to set a chunk option of
The table is now constructed in the usual way.
X <- rnorm(125, sd=100) Group <- factor(sample(letters[1:5], 125, rep=TRUE)) tab <- tabular( Group ~ (N=1)+Format(digits=2)*X*((Mean=mean) + Heading("Std Dev")*sd) )
In an R Markdown document, you don't want each table to output the HTML document header, so turn off those options:
To format a table in HTML, use the
results = 'asis' knitr option. Before the first table in a document, also add a call to
results = 'asis':
The default justification makes the columns of numbers look messy. You can set the justification to the right, but the headers look wrong:
table_options(htmloptions(head = FALSE, justification = "r")) html(tab)
The best look comes with the
pad = TRUE option.
This adds nonbreaking spaces around the numbers so that
centering looks good. It also changes the hyphens
to proper minus signs:
table_options(htmloptions(head = FALSE, justification = "c", pad = TRUE)) html(tab)
Unfortunately, if you cut this table and paste it into a spreadsheet, the spaces and minus signs probably won't be understood. I don't know how to get everything we want :-(.
This document uses the default CSS from
table_options()$CSS. If you are
html_document, it should be okay.
It does not look quite right in a
slidy_presentation, and is no good at all in
ioslides_presentation. Furthermore, you
might not agree with my design choices.
In any of these cases, you should substitute your
own CSS. You will need to modify the default
one, and can use it as the
CSS argument to
writeCSS(), or set it as a new default in
Here is the default setting:
Note that the
#ID values will be replaced with
id string given in
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.