簡體   English   中英

R markdown / knitr:自定義output目錄

[英]R markdown / knitr: customize output directory

我是 Stackoverflow 的新手 - 所以請原諒我的帖子中可能出現的任何奇怪之處。

我有一個 simmilar 問題作為湯姆,張貼在這里

我想將 markdown 創建的 pdf 保存在特定目錄中。 在幾次不成功的嘗試(包括與 GPT 令人沮喪的聊天)之后,我按照提到的帖子中的starjas說明進行操作,但沒有成功。

這是我的 YAML header:

---
title: 'MyTitle'
subtitle: 'Analysis XYZ'
author: "Boris et al."
date: "2023-01-22"
knit: (function(input, encoding) {
  rmarkdown::render(input,
                    encoding = "UTF-8",
                    output_dir = "05-Reports")})
output: pdf_document
---

......這里是腳本主體的一些代碼片段:

knitr::opts_chunk$set(echo = FALSE, message = TRUE)
source("02-Scripts/03-LogMod-6-plot.R", local = knitr::knit_global())

{r model results} model6.res.table <- simple_kable <- knitr::kable(model6.res, format = "pipe") model6.res.table

這是我收到的錯誤消息:

文件錯誤(文件名,“r”,編碼 = 編碼):無法打開連接調用:<Anonymous> ... eval_with_user_handlers -> eval -> eval -> source -> file Execution halted

我認為問題必須與 R 無法找到指定的輸出目錄(05-Reports)有關。 但我不知道為什么,因為這個輸出目錄在工作目錄中:

getwd() [1] "/Users/my-User/Documents/studyXYZ/1-XYZdata/6-R/studyXYZ-R-Project"

list.files() [1] “01-Data” “02-Scripts” “03-Outputs” [4] “04-Plots” “05-Reports” “studyXYZ-R-Project.Rproj”

也許重要的是要知道:我正在使用 R 項目。 此外,在 R Markdown 下的全局選項中,我設置了“評估目錄中的塊:”“項目”,正如Julius Diel在一個關於類似主題的線程中提到的那樣:

“在 RStudio 中執行“knit HTML”時出現“錯誤“無法打開連接””在像這樣設置 R 的全局選項之前,我還有其他關於 scource() 的問題-來自我的降價腳本的命令解決了包含分析的 R 腳本-命令。 現在搜索工作正常,我在執行 markdown 腳本時得到了預期的結果,但沒有指定 output 目錄(在 html 和 pdf 中)。 只是 pdf 不會保存在我想要的地方。 有誰知道是什么導致了這個問題?

我不知道Evaluate chunks in directory: "Project"選項。 以前,我在設置塊中使用了以下內容:

knitr::opts_knit$set(root.dir = rprojroot::find_rstudio_root_file())

但是,在文檔 header 中使用rmarkdown::render時,會忽略此選項(以及 RStudio 中設置的選項)。 您需要設置knit_root_dir來定義根目錄,您可以從中指定 rmarkdown 文檔中使用的source中的相對路徑:

knit: (function(input, encoding) {
  rmarkdown::render(input,
                    output_dir = "05-Reports",
                    knit_root_dir = rprojroot::find_rstudio_root_file())})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM