【发布时间】:2016-03-04 14:33:26
【问题描述】:
我用一串
knitr::knit2html("test.Rmd") # generates test.md & test.html
rmarkdown::render("test.md") # overwrites test.html
生成 html 报告。
这个链提供了很好的功能,因为我的报告通常结合了图片、表格和文本。如果我只跑
knitr::knit2html("test.Rmd")
会生成“test.html”,但看起来很别扭,即图片显示不正确。
通常,这可以正常工作,但这次作为表头的示例名称包含“+”或“-”。
| | IP_gene8-_1st| IP_gene8+_1st|
|:--------------|-------------:|-------------:|
|IP_gene8-_1st | 1.0000000| 0.4357325|
|IP_gene8+_1st | 0.4357325| 1.0000000|
knit2html("test.Rmd")生成的“test.html”将包含一个有效的表格,但其他图片显示不正确。
<table><thead>
<tr>
<th align="left"></th>
<th align="right">IP_Rad18-_1st</th>
<th align="right">IP_Rad18_1st</th>
</tr>
</thead><tbody>
<tr>
<td align="left">IP_Rad18_1st</td>
<td align="right">1.0000000</td>
<td align="right">0.4357325</td>
</tr>
<tr>
<td align="left">IP_Rad18_1st</td>
<td align="right">0.4357325</td>
<td align="right">1.0000000</td>
</tr>
</tbody></table>
运行rmarkdown::render("test.md") 会生成一个“test.html”,其中的表格仅作为文本,但例如图片正确显示。糟糕的表格输出如下所示:
| | IP_gene8-_1st| IP_gene8+_1st| |:-------------|-------------:|-------------:| |IP_Rad18_1st | 1.0000000| 0.4357325| |IP_Rad18_1st | 0.4357325| 1.0000000|
通常,'+' 和 '-' 可以使用 '/' 进行保护,但这在表上下文中没有任何影响。
有什么方法可以欺骗rmarkdown::render() 创建一个有效的html-table?
【问题讨论】:
-
看起来
pandoc的表头中的+和-符号存在问题。我不知道该怎么做,但总的来说,你可以将你的链减少到rmarkdown::render("test.Rmd")(不需要knit2html)。 -
@CL。感谢您的确认。我想我会向
pandoc发出错误报告。
标签: r knitr r-markdown