我正在尝试使用R中的xtable
和knitr
生成一个带有交替行颜色的表格。我可以在PDF输出中打印一张表格,但是无法完全理解xtable
手册中的add.to.row
命令以及colortbl
包。
这张图是使用底部的代码生成的。希望您在检测浅灰色时不要伤害您的眼睛(我在其中一个屏幕上几乎受伤了)。
library(xtable)
mydf <- data.frame(id = 1:10, var1 = rnorm(10), var2 = runif(10))
rws <- seq(1, (nrow(mydf)-1), by = 2)
col <- rep("\\rowcolor[gray]{0.95}", length(rws))
print(xtable(mydf), booktabs = TRUE,
add.to.row = list(pos = as.list(rws), command = col))
关键在于定义行索引 (rws
) 和它们各自的颜色 (col
)。如果你想让每一行的颜色不同,你需要尝试使用 paste
。
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{booktabs}
\usepackage{colortbl, xcolor}
\begin{document}
<<do_table, results = "asis">>=
library(xtable)
mydf <- data.frame(id = 1:10, var1 = rnorm(10), var2 = runif(10))
rws <- seq(1, (nrow(mydf)), by = 2)
col <- rep("\\rowcolor[gray]{0.95}", length(rws))
print(xtable(mydf), booktabs = TRUE,
add.to.row = list(pos = as.list(rws), command = col))
@
\end{document}
pander
包中使用emphasize.*
函数,即使在HTML/docx/odt格式中也可以:http://blog.rapporter.net/2013/04/hihglight-cells-in-markdown-tables.html - daroczig