24

我正在尝试xtable在 R 中使用knitr交替行颜色生成一个表格。我可以在 PDF 输出中打印一个表格,但不能完全弄清楚手册add.to.row中的命令以及包。xtablecolortbl

4

1 回答 1

37

该图是使用底部的代码生成的。我希望你不会因为检测到浅灰色而伤到眼睛(我几乎有,在我的一个屏幕上)。

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}
于 2013-05-16T06:35:47.230 回答