Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Insert markdown table in roxygen2 R package documentation

I'm writing an R package and I want to include a table in an R help file, e.g. in the @details section. I tried including markdown code directly:

#' | Tables        | Are           | Cool  |
#' | ------------- |:-------------:| -----:|
#' | col 3 is      | right-aligned | $1600 |
#' | col 2 is      | centered      |   $12 |

But this does not give me the desired output. I have enabled markdown support for the whole package and have roxygen2 6.0.1 installed. Is there no support for markdown tables? Do I have to use \tabular{}?

like image 424
needRhelp Avatar asked Mar 15 '17 14:03

needRhelp


2 Answers

You need to add the @md tag to your roxygen chunk

#' @details
#' The table is: 
#'
#' | Tables        | Are           | Cool  |
#' | ------------- |:-------------:| -----:|
#' | col 3 is      | right-aligned | $1600 |
#' | col 2 is      | centered      |   $12 |
#' 
#' @md

or add Roxygen: list(markdown = TRUE) to your DESCRIPTION file.

like image 63
Hugh Avatar answered Oct 19 '22 17:10

Hugh


Note that {roxygen} generates R Documentation files in the end. Thus, you can always go to the Writing R Extensions: Lists and tables and write the table in the native documentation language for R-packages by hand.

Here's a minimal example:

\name{dummy}
\title{Dummy}
\details{
  The example here is:
\tabular{lcc}{
  Tables   \tab  Are           \tab Cool   \cr
  col 3 is \tab  right-aligned \tab $1600  \cr
  col 2 is \tab  centered      \tab  $12   \cr
 }
}

Note, that the latest {roxygen2} version 7.0 provides more support for markdown-syntax.

like image 29
Mossa Avatar answered Oct 19 '22 16:10

Mossa