Here is how you can make a table in GFM format using knitr + ascii
render_gfm()
gfm_table <- function(x, ...) {
require(ascii)
y <- capture.output(print(ascii(x, ...), type = "org"))
# substitute + with | for table markup| <script> | |
| (function() { | |
| var divHTML = document.querySelectorAll(".details-open"); | |
| divHTML.forEach(function (el) { | |
| var preNodes = el.getElementsByTagName("pre"); | |
| var outputNode = preNodes[1]; | |
| outputNode.outerHTML = "<details open class='output'><summary>Output</summary>" + outputNode.outerHTML + "</details>"; | |
| }) | |
| })(); | |
| (function() { |
| #!/bin/bash | |
| # knit.sh -- Dave Kleinschmidt, April 2013 | |
| # streamline knitting of Rnw files from the command line. | |
| usage="Usage: $0 input-filename.Rnw [-nolatex] [-notangle]" | |
| if [ $# -lt 1 ]; then | |
| echo $usage | |
| exit 1 | |
| fi |
| #' Finds the local maxima (peaks) in the given vector after smoothing the data | |
| #' with a kernel density estimator. | |
| #' | |
| #' First, we smooth the data using kernel density estimation (KDE) with the | |
| #' \code{\link{density}} function. Then, we find all the local maxima such that | |
| #' the density is concave (downward). | |
| #' | |
| #' Effectively, we find the local maxima with a discrete analogue to a second | |
| #' derivative applied to the KDE. For details, see this StackOverflow post: | |
| #' \url{http://bit.ly/Zbl7LV}. |
| # Generate (x, y) data with a sparse set of active predictors | |
| # prob controls the frequency of predictors having zero effect | |
| function simulate_date(n::Integer, p::Integer, prob::Real) | |
| x = randn(n, p) | |
| beta = randn(p) | |
| for j in 1:p | |
| if rand() < prob | |
| beta[j] = 0.0 | |
| end | |
| end |
| # a function to deal with sprintf("%.2f", ...) returning -0.00 | |
| # see https://twitter.com/hspter/status/314858331598626816 | |
| f <- function(..., dig=2) { | |
| g <- sprintf(paste0("%.", dig, "f"), ...) | |
| z <- paste0("0.", paste(rep("0", dig), collapse="")) | |
| g[g==paste0("-",z)] <- z | |
| g | |
| } |
| RMDFILE=demo-rmd-pandoc | |
| PANDOC=~/.cabal/bin/pandoc | |
| all: | |
| Rscript -e "require(knitr); require(markdown); knit('$(RMDFILE).rmd', '$(RMDFILE).md'); purl('$(RMDFILE).rmd')" | |
| ${PANDOC} --mathjax --toc -B header.html -A footer.html --bibliography refs.bib --css markdown.css -s $(RMDFILE).md -o $(RMDFILE).html | |
| #' # Rスクリプトからレポート生成 | |
| #' # `spin`ning in knitr package | |
| #' | |
| #' ### @kohske | |
| #' | |
| #' Rスクリプトはこちら | |
| #' https://gist.github.com/gists/2975392 | |
| #' | |
| #' --- | |
| #' |
| #!/usr/bin/Rscript | |
| library(tools) | |
| library(knitr) | |
| library(sowsear) | |
| opts_knit$set(progress = FALSE, verbose = FALSE) | |
| ## We need a list of files and a package to start. | |
| args <- commandArgs(TRUE) | |
| package <- args[[1]] | |
| files <- args[-1] |
Here is how you can make a table in GFM format using knitr + ascii
render_gfm()
gfm_table <- function(x, ...) {
require(ascii)
y <- capture.output(print(ascii(x, ...), type = "org"))
# substitute + with | for table markup| % Full Screen Environment for Beamer Slides | |
| \newenvironment{changemargin}[2]{% | |
| \begin{list}{}{% | |
| \setlength{\topsep}{0pt}% | |
| \setlength{\leftmargin}{#1}% | |
| \setlength{\rightmargin}{#2}% | |
| \setlength{\listparindent}{\parindent}% | |
| \setlength{\itemindent}{\parindent}% | |
| \setlength{\parsep}{\parskip}% | |
| }% |