Saya ingin tahu apakah ada trik untuk memasukkan tanggal saat ini di bagian depan .rmd
dokumen YAML untuk diproses oleh knitr
dan rmarkdown
paket. Saya dulu memiliki baris berikut di bagian atas halaman wiki saya,
_baptiste, `r format(Sys.time(), "%d %B, %Y")`_
dan itu akan dikonversi ke baptiste, 03 Mei, 2014 di output html. Sekarang, saya ingin mengambil keuntungan dari pembungkus pandoc canggih yang disediakan oleh rmarkdown
, tetapi memiliki kode r di header YAML tampaknya tidak berfungsi:
---
title: "Sample Document"
output:
html_document:
toc: true
theme: united
date: `r format(Sys.time(), "%d %B, %Y")`
author: baptiste
---
Error in yaml::yaml.load(front_matter) :
Scanner error: while scanning for the next token at line 6, column 7
found character that cannot start any token at line 6, column 7
Calls: <Anonymous> ... output_format_from_yaml_front_matter ->
parse_yaml_front_matter -> <Anonymous> -> .Call
Ada solusi?
r
yaml
knitr
r-markdown
baptiste
sumber
sumber
!expr
, mis.date: !expr Sys.time()
, Tetapi sekarang ini tidak berfungsi.Jawaban:
Ini sedikit rumit, tetapi Anda hanya perlu membuat
date
bidang tersebut valid dalam YAML dengan mengutip ekspresi inline R, mis.Kemudian kesalahan parsing akan hilang, dan tanggal akan dihasilkan dalam output penurunan harga sehingga Pandoc dapat menggunakan nilai dari
Sys.time()
.sumber
includes: after_body: [ ... ]
sebagai YAML yang valid hanya akan menjadi string nama file ... Jadi tidak ada kemungkinanincludes: "`r list.files(...)`"
?.md
file yang dihasilkan jika saya milikikeep_md: true
di header YAML. Ada solusi untuk ini?date: "`r format(Sys.time(), '%B %d, %Y')`"
.r format(Sys.time(), '%d\\\\. %B %Y')
Hanya menindaklanjuti @Yihui. Anehnya, saya telah menemukan bahwa:
bekerja lebih baik daripada:
Untuk yang terakhir RStudio memilih untuk mengubah kutipan luar untuk
'
setiap kali beralih antara HTML dan output PDF dan dengan demikian melanggar kode.sumber
Atau hanya satu kutipan kutip ganda dan sebaliknya, ini bekerja dengan baik.
sumber
Salah satu solusinya adalah dengan menggunakan
brew
paket dan menulis materi depan YAML Anda sebagaibrew
templat.Anda sekarang dapat menggunakan
brew_n_render
fungsi yang akan memproses ulang menggunakan docbrew
dan kemudian dijalankan melaluirmarkdown
.Untuk membuatnya bekerja dengan
KnitHTML
tombol di RStudio, Anda dapat menulis format output khusus yang akan secara otomatis digunakanbrew
sebagai preprosesor. Menggunakanbrew
untuk preprocess memastikan bahwaknitr
potongan kode dalam dokumen Anda tidak tersentuh selama tahap preprocessing. Idealnya,rmarkdown
paket harus mengekspos metadata di API-nya dan memungkinkan pengguna untuk menjalankannya melalui fungsi kustom.sumber
atau, mungkin sesuatu seperti yang berikut ini, lihat Laporan Parameterized R Markdown
sumber
Untuk masalah yang sama bagi saya. Saya menyelesaikannya dengan menggunakan kode ini.
Perbarui Anda juga dapat menggunakan format lain.
Terbaik.
sumber
Saya digigit oleh ini hari ini. Saya punya
dan mendapatkan lebih atau kurang kesalahan yang sama dengan OP, tetapi hanya ketika merajut ke kata. Merajut ke pdf baik-baik saja sebelum saya mencoba merajut ke Word. Setelah itu tidak berhasil juga.
Posisi 31 adalah tanda% pertama
Mengganti ini dengan
seperti yang disarankan oleh MLaVoie, bekerja dengan baik.
Saya tidak tahu mengapa ini terjadi, dan saya tidak punya waktu untuk menggali - laporan selesai.
sumber