Bagaimana cara membuat tabel berwarna dengan Sweave dan xtable? [Tutup]

17

Saya menggunakan Sweave dan xtable untuk menghasilkan laporan.

Saya ingin menambahkan beberapa pewarna di atas meja. Tapi saya belum berhasil menemukan cara untuk menghasilkan tabel berwarna dengan xtable.

Apakah ada opsi lain?

RockScience
sumber
apa meja berwarna? Sel dengan latar belakang warna? Teks sel berbeda warna? Dalam skenario terakhir, solusinya mungkin membungkus nilai-nilai dengan perintah tex yang sesuai.
mpiktas
Saya perlu latar belakang satu baris dengan warna tertentu. Apakah saya harus menulis ulang fungsi xtable?
RockScience
1
xtable telah ditulis ulang (atau mungkin sudah ditulis sebelumnya) sebagai fungsi lateks dalam paket R Hmisc. Secara pribadi saya bersumpah untuk mencari meja yang tepat. Saya belum memeriksa apakah ada ruang untuk trik penyisipan mewah yang dijelaskan di bawah ini, meskipun saya akan terkejut jika tidak.
conjugateprior
@Conjugate Kau benar, meskipun tidak semudah yang kukira; Saya telah memperbarui respons saya dengan saran Anda.
chl
@ chl 'tidak lugas' adalah pernyataan yang meremehkan. Fungsi itu adalah binatang buas, meskipun sangat mampu.
conjugateprior

Jawaban:

20

\rowcolor\rowcolorsadd.to.rowprint.xtable()listL.SEBUAHTEX

Tampaknya berfungsi, dengan colortblpaket. Jadi, sesuatu seperti ini

<<result=tex>>
library(xtable)
m <- matrix(sample(1:10,10), nr=2)
print(xtable(m), add.to.row=list(list(1),"\\rowcolor[gray]{.8} "))
@

memberi saya

masukkan deskripsi gambar di sini

(Ini adalah template Beamer yang disesuaikan, tetapi ini harus bekerja dengan dokumen standar. Dengan Beamer, Anda mungkin ingin menambahkan tableopsi saat memuat paket.)

Memperbarui:

TEXlatex()

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
chl
sumber