Я использую Sweave и Xtable для создания отчета.
Я хотел бы добавить немного раскраски на стол. Но мне не удалось найти какой-либо способ создания цветных таблиц с помощью xtable.
Есть ли другой вариант?
Я использую Sweave и Xtable для создания отчета.
Я хотел бы добавить немного раскраски на стол. Но мне не удалось найти какой-либо способ создания цветных таблиц с помощью xtable.
Есть ли другой вариант?
Ответы:
Хотя я не пробовал это явно из с R (я обычно пост-обработки таблиц в Latex непосредственно \rowcolor
, \rowcolors
или colortbl пакет), я думаю , что это было бы легко сделать это, играя с add.to.row
аргументами print.xtable()
. В основном ожидаются два компонента (переданные как list
): (1) номер строки и (2)команда. Обратите внимание, что команда добавляется в конце указанной строки.
Вроде работает с colortbl
пакетом. Итак, как то так
<<result=tex>>
library(xtable)
m <- matrix(sample(1:10,10), nr=2)
print(xtable(m), add.to.row=list(list(1),"\\rowcolor[gray]{.8} "))
@
дает мне
(Это настроенный шаблон Beamer, но он должен работать со стандартным документом. С Beamer вы, вероятно, захотите добавить table
опцию при загрузке пакета.)
Обновить:
Следуя совету @ Conjugate, вы также можете положиться на средства Hmisc для обработкивывод, увидеть множество опций latex()
функции. Вот пример использования:
library(Hmisc)
## print the second row in bold (including row label)
form.mat <- matrix(c(rep("", 5), rep("bfseries", 5)), nr=2, byrow=TRUE)
w1 <- latex(m, rownamesTexCmd=c("","bfseries"), cellTexCmds=form.mat,
numeric.dollar=FALSE, file='/tmp/out1.tex')
w1 # call latex on /tmp/out1.tex
## highlight the second row in gray (as above)
w2 <- latex(m, rownamesTexCmd=c("","rowcolor[gray]{.8}"),
numeric.dollar=FALSE, file='/tmp/out2.tex')
w2