我正在使用markdown和knitr
来创建HTML报告。为了显示表格,我使用xtable
并使用print(xtable(dataframe),type="html")
。为了更好地满足我的需求,我使用cat()
打印HTML标记并使用块选项results = asis
。
报告很好,只是&符号显示为& amp。我猜,也许这是因为我已经指定了chunk选项作为asis。 所以,这就是我所做的。这可能很脏,但我对降价有点新鲜。
fg = capture.output(print(xtable(dataframe),type='html'))
fg = gsub("&","&",fg)
fg = gsub("&","&",fg)
fg[length(fg)] = "</TABLE>" # because capture.output adds whitespaces
# before the </TABLE> and markdown
# parses it as a code block
cat(fg)
现在,这有效。但是如果数据集很大,说dataframe
有1500行和31列,则文档需要花费大量时间来渲染(大约9小时)。如果我没有捕获输出并替换同一数据集的&
或&
,渲染速度非常快(2 - 3分钟)。
有更好的方法来做到这一点和/或加快速度吗?