我基於.Rnw
模板反覆生成數以千計的PDF報告。我所包含的圖表預先生成爲.png
,不是在飛行中生成的。R sweave在PDF輸出中寫入連接關閉警告消息
我的問題是,大約1%的時間(我haven't迄今發現的模式),我得到一個非常明顯的粉紅色的警告信息:
##警告:cerrando LA conenexion 3( report.Rnw)闕沒有ESTA siendo utilizada
我用於生成從所述Sweave PDF將R代碼是:
Sweave2knitr(file = "report.Rnw",
output = "./temp/report-knitr.Rnw")
knit2pdf(input = "./temp/report-knitr.Rnw",
quiet = TRUE,
clean = TRUE,
envir = environment(),
encoding = "UTF-8")
此外,我使用庫kableExtra到根erate表和xelatex。
顯然,重新生成文件會使消息消失,所以我使用包pdftools打開每個報告並檢查錯誤消息,但我仍然對爲什麼收到消息感到擔憂和好奇,因爲我沒有明確地打開我的腳本中的任何連接,所以R/LaTeX編譯器的一部分必須這樣做。
如何控制我的腳本不會打開任何連接?
由於它列出了「report.Rnw」作爲連接名稱,它看起來好像問題來自Sweave2knitr()調用。但你爲什麼要這樣?爲什麼不使用Sweave()如果它是Sweave源,或者將原始數據轉換一次,而不是數千次? – user2554330
@ user2554330自從我加入該行後已經有一段時間了,我對LaTeX和Sweave很陌生,所以我不能說爲什麼在這種情況下我必須先使用Sweave2knitr。根據它的文檔,它使得.Rnw knitr兼容。我在PDF中動態地插入了一些LaTeX代碼,如果我運行** knit2pdf(input =「./report.Rnw」),它就不會生成報告。 – Narciandi
我收到的錯誤信息有點神祕,但它說:**退出52-55行(./report.Rnw) 對象'tex'未找到 警告消息: In remind_sweave(if(in.file )輸入,sweave_lines): 看來,您正在使用第39,51,60,69,112,149,157,167,175,185,198,209,217,227, 236,246,256,266,295,305,333,347,373,416,445,465,490,509,533,552,577,589,599,624,634,648,658,677,689,以及在此處引用作爲參考。 703,715,725;您可能需要使用Sweave2knitr(「./ report.Rnw」)將其轉換爲knitr ** – Narciandi