Я використовую Sweave та xtable для створення звіту.
Я хотів би додати трохи фарбування на стіл. Але мені не вдалося знайти жодного способу генерувати кольорові таблиці за допомогою xtable.
Чи є якийсь інший варіант?
Я використовую Sweave та xtable для створення звіту.
Я хотів би додати трохи фарбування на стіл. Але мені не вдалося знайти жодного способу генерувати кольорові таблиці за допомогою xtable.
Чи є якийсь інший варіант?
Відповіді:
Хоча я не пробував цього явно з R (я зазвичай після обробки оброблюю таблиці в Latex безпосередньо \rowcolor
, \rowcolors
або colortbl пакет), я думаю , що це було б легко зробити це, граючи з add.to.row
аргументамиprint.xtable()
list
команда. Зауважте, що команда додається в кінці зазначених рядків.
Здається, працює, з 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