pandoc表的彩色单元格

时间:2016-11-29 22:48:06

标签: r pdf knitr r-markdown

我有这个表,我想用RMD文件中的PANDOC以PDF格式呈现

 table = data.frame(category = c("A","B","C"), groupA = c(.2,.3,.5), groupB= c(.6,.7,.9))
 table
 pandoc.table(table,split.table = Inf,keep.line.breaks = TRUE)

----------------------------
 category   groupA   groupB 
---------- -------- --------
    A        0.2      0.6   

    B        0.3      0.7   

    C        0.5      0.9   
----------------------------

如何为" groupA"的细胞着色?和" groupB"条件格式的列如:

>0 and <= .2    = "green"
>.2 and <= .3    = "red"
>.3 and <= .4    = "blue"
>.4 and <= .5     = "orange"
>.5 and <= .6     = "yellow"
>.6 and <= .7     = "black"
>.7 and <= .8     = "brown"
>.8  = "white"

1 个答案:

答案 0 :(得分:1)

如果您要渲染为PDF,则您(或其他人的功能)必须使用LaTeX格式化您的表格。虽然有大量有用的软件包和函数可以为您完成所有工作(knitr::kablextablestargazer),但如果您需要细粒度控制,则可能需要编辑LaTeX自己,至少在一定程度上。

一个相当无痛的选项是Hmisc::latex,它将从data.frame创建表,并且有一个参数(在许多中)cellTexCmds,允许通过类似矩阵传递单个单元格的样式data.frame的维度。 file的{​​{1}}参数,因此它不会保存文件,''因此表格会显示在文档中的正确位置。要设置单元格背景颜色,您需要where = '!htbp'xcolor LaTeX包,它们可以加载到YAML前端。

要消除LaTeX注释,请捕获输出,子集和打印,或者只使用.Rnw而不是.Rmd。

colortbl

pdf image with formatted cells