Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML with multicolumn table in Markdown using knitr

Tags:

I've used knitr and LaTeX but I'm thinking of changing to Markdown as this seems more compatible with Word (htlatex and Pandoc work but it's far from comfortable). My current problem is finding an alternative to latex() in the Hmisc package. The only alternative I've found is xtable, but it doesn't seem to create multicolumns.

Here's an example:

mx <- matrix(1:6, ncol=3) 
rownames(mx) <- LETTERS[1:NROW(mx)] 
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
latex(mx, n.rgroup=c(2), rgroup=c("Nice!"),
      n.cgroup=c(2,1), cgroup=c("First", "Second"),
      file="", 
      ctable=TRUE)

produces this table:

enter image description here

like image 911
Max Gordon Avatar asked Aug 14 '12 10:08

Max Gordon


People also ask

How do I insert a table in R markdown?

Upon installing, inserttable registers a new RStudio Addin (Insert Table) that can be used to easily insert a table in a Rmd document. To use it, open a Rmd or R document and select “Addins –> Insert Table”.

How do you knit Rmarkdown to HTML?

To transform your markdown file into an HTML, PDF, or Word document, click the “Knit” icon that appears above your file in the scripts editor. A drop down menu will let you select the type of output that you want. When you click the button, rmarkdown will duplicate your text in the new file format.

How do you put a title on a Kable table?

You can add a caption to the table via the caption argument, e.g. (see Table 10.1 for the output), knitr::kable(iris2, caption = "An example table caption.")


1 Answers

Ok, so I wrote it myself...

The package is as of version 1.0 called htmlTable and is available both from CRAN and and my blog, gforge.se/packages. I hope you find it useful. I've created a few vignettes to help with all the options.

like image 58
Max Gordon Avatar answered Sep 18 '22 14:09

Max Gordon