Saya baru mulai belajar tentang KnitR dan penggunaan penurunan harga dalam menghasilkan dokumen dan laporan R. Tampaknya ini sempurna untuk banyak laporan harian yang harus saya lakukan dengan pekerjaan saya. Namun, satu hal yang tidak saya lihat adalah cara mudah untuk mencetak bingkai data dan tabel menggunakan pemformatan penurunan harga (semacamnya xtable
, tetapi dengan penurunan harga alih-alih LaTeX atau HTML). Saya tahu bahwa saya bisa menyematkan output HTML dari xtable, tetapi saya bertanya-tanya apakah ada solusi berbasis penurunan harga?
r
markdown
knitr
r-markdown
TARehman
sumber
sumber
print(xtable(data), type = "html")
.knitr
, jadi saya mengirim permintaan tarikpander
untuk menambahkan gaya tabel. Dalam versi masa depanpander
, Anda harus dapat melakukannyapandoc.table(iris, style="rmarkdown")
pander
harus di CRAN. pandoc adalah program yang ditulis di Haskell yang mengonversi ke dan dari berbagai format berbeda, program ini tidak spesifik untuk R dengan cara apa pun.pander
, yang tidak ada di CRAN terakhir kali saya dengar - tidakpandoc
. Salahku. :)Jawaban:
Sekarang
knitr
(sejak versi 1.3) paket menyertakankable
fungsi untuk tabel pembuatan:DIPERBARUI : jika Anda mendapatkan penurunan harga mentah dalam dokumen, coba
results = "asis"
opsi potongan pengaturan .sumber
format
argumennya, karena knitr mengetahui format keluaran dan akan secara otomatis mengaturnyaresults = asis
.results = 'asis'
Dua paket yang akan melakukan ini adalah calo
Atau ascii
pander
adalah pendekatan yang sedikit berbeda untuk konstruksi laporan, (tetapi dapat berguna untuk fitur ini).ascii
akan memungkinkan Anda untukprint
dengantype = 'pandoc
(atau berbagai rasa penurunan harga lainnya)Perhatikan bahwa dalam kedua kasus ini, ini diarahkan ke penggunaan
pandoc
untuk mengkonversi dari penurunan harga ke jenis dokumen yang Anda inginkan, namun menggunakanstyle='rmarkdown'
akan membuat tabel yang kompatibel denganmarkdown
paket ini dan konversi bawaanrstudio
.sumber
pander
: ini dapat menghasilkanrmarkdown
tabel bergaya juga di samping yang lain, misalnya:pander(head(iris[,1:3]), style = 'rmarkdown')
Hanya ingin memperbarui ini dengan apa yang saya putuskan untuk lakukan. Saya menggunakan
hwriter
paket sekarang untuk mencetak tabel, dan menggunakanrow.*
dancol.*
fitur untuk menempatkan kelas CSS ke elemen yang berbeda. Kemudian, saya menulis CSS khusus untuk membuat tampilan saya seperti yang saya inginkan. Jadi, inilah contoh jika ada orang lain yang berurusan dengan hal serupa.Pertama buat file yang akan di lakukan
knitting
dan ubah Markdown menjadi HTML:Selanjutnya, buat file Markdown yang sebenarnya:
Terakhir, buat saja file CSS khusus.
Pelaksana
./file_knit.r
memberi saya file.html, yang terlihat seperti ini:Jadi, semoga ini dapat membantu orang lain yang menginginkan lebih banyak pemformatan dalam output Markdown!
sumber
Ada beberapa fungsi di dalam
pander
paket:sumber
pander
:) Harap dicatat bahwa Anda mungkin juga menggunakan metode S3 umum untuk menyimpan beberapa karakter untukpander(head(iris)[, 1:3])
Tidak terlalu sulit untuk membuat fungsi kustom Anda sendiri. Berikut ini adalah bukti konsep yang sangat sederhana untuk menghasilkan tabel rmarkdown dari a
data.frame
:Dalam dokumen .Rmd Anda kemudian akan menggunakan fungsi dengan
results = 'asis'
:Kode di atas akan memberi Anda gambar berikut (dalam contoh ini adalah keluaran pdf, tetapi karena tabelnya di markdwon, Anda juga bisa merajut menjadi html atau word juga).
Dari sini - dan membaca kode orang lain - Anda dapat mengetahui cara memanipulasi teks untuk menghasilkan tabel yang Anda inginkan dan membuat fungsi yang lebih personal.
sumber
gunakan kombinasi knitr :: kable dan xtable dalam dokumen penurunan harga Anda.
untuk data.frame sederhana -
format="pandoc"
memungkinkan lebih banyak opsi seperti teks.Sekarang kombinasi untuk ringkasan model .
untuk lebih banyak pilihan, lihat
stargazer
paket daripadaxtable
.contoh untuk penggunaan pribadi
sumber
Untuk menulis / membuat tabel Markdown di R, Anda juga dapat menggunakan MarkdownReports '
MarkDown_Table_writer_DF_RowColNames()
atauMarkDown_Table_writer_NamedVector()
fungsi. Anda hanya meneruskan bingkai data / matriks dengan nama dimensi, atau vektor dengan nama, dan itu mengurai & menulis tabel dalam format penurunan harga.sumber
Fungsi saya untuk Gitlab:
sumber