Używam Sweave i xtable do generowania raportu.
Chciałbym dodać trochę koloru na stole. Ale nie udało mi się znaleźć żadnego sposobu generowania kolorowych tabel za pomocą xtable.
Czy jest jakaś inna opcja?
Używam Sweave i xtable do generowania raportu.
Chciałbym dodać trochę koloru na stole. Ale nie udało mi się znaleźć żadnego sposobu generowania kolorowych tabel za pomocą xtable.
Czy jest jakaś inna opcja?
Odpowiedzi:
Chociaż nie próbowałem to wyraźnie z R (I zwykle postprocesowego tabel w Latex bezpośrednio \rowcolor
, \rowcolors
albo colortbl pakiet), myślę, że byłoby to łatwe do zrobienia, to grając z add.to.row
argumentów print.xtable()
. Zasadniczo oczekuje dwóch składników (przekazanych jako list
): (1) numer wiersza i (2)Komenda. Należy pamiętać, że polecenia są dodawane na końcu określonych wierszy.
Wydaje się, że działa z colortbl
pakietem. Coś takiego
<<result=tex>>
library(xtable)
m <- matrix(sample(1:10,10), nr=2)
print(xtable(m), add.to.row=list(list(1),"\\rowcolor[gray]{.8} "))
@
daje mi
(Jest to niestandardowy szablon Beamer, ale powinien on działać ze standardowym dokumentem. W przypadku Beamer prawdopodobnie będziesz chciał dodać tę table
opcję podczas ładowania pakietu.)
Aktualizacja:
Zgodnie z sugestią @ Conjugate możesz również polegać na urządzeniach Hmisc do obsługiwyjście, zobacz wiele opcji latex()
funkcji. Oto przykład użycia:
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