這是 rmarkdown::render()
的包裝,強製執行 "reprex" 心態。這是所發生情況的簡化版本:
callr::r(
function(input) {
rmarkdown::render(input, envir = globalenv(), encoding = "UTF-8")
},
args = list(input = input),
spinner = is_interactive(),
stdout = std_file, stderr = std_file
)
需要注意的主要特點
-
rmarkdown::render()
使用callr::r()
在新的 R 會話中執行。目標是消除對象、附加包和會話狀態的其他方麵從當前會話泄漏到渲染會話中。此外,係統和 user-level.Rprofile
也會被忽略。 -
代碼在這個新 R 會話的
globalenv()
中進行評估,這意味著方法分派按照大多數人期望的方式工作。 -
輸入文件假定為 UTF-8,這是 v1.24 起的 knit 要求。
-
如果 YAML frontmatter 包含
std_err_out: TRUE
,則渲染 R 會話的標準輸出和錯誤將在std_file
中捕獲,然後注入到渲染結果中。
reprex_render()
設計用於使用 reprex_document()
輸出格式,通常通過調用 reprex()
。 reprex_render()
可以與其他 R Markdown 輸出格式一起使用,但它不是 well-tested。
參數
- input
-
要渲染的輸入文件。這可以是
.R
腳本或.Rmd
R Markdown 文檔。 - html_preview
-
邏輯性強。是否在查看器(RStudio 或瀏覽器)中顯示渲染輸出。在非交互式會話中始終
FALSE
。閱讀有關opt()
的更多信息。 - encoding
-
輸入文件的編碼。請注意,唯一可接受的值是 "UTF-8",從 v1.24 開始,knitr 要求使用該值。這純粹是為了技術方便而作為參數公開,與 RStudio IDE 中的 "Knit" 按鈕相關。
值
傳遞rmarkdown::render()
的輸出,即輸出文件的路徑。
相關用法
- R reprex reprex_locale 在特定區域設置中渲染 reprex
- R reprex reprex_document 代表輸出格式
- R reprex reprex 渲染一個reprex
- R reprex un-reprex 取消渲染reprex
- R SparkR repartition用法及代碼示例
- R SparkR repartitionByRange用法及代碼示例
- R SparkR read.stream用法及代碼示例
- R readr datasource 創建源對象。
- R readr melt_delim 返回分隔文件中每個標記的熔化數據(包括 csv 和 tsv)
- R readr read_rds 讀/寫 RDS 文件。
- R readr read_lines 從文件中讀取/寫入行
- R readr parse_number 靈活地解析數字
- R SparkR refreshByPath用法及代碼示例
- R readr read_fwf 將固定寬度文件讀入 tibble
- R readxl read_excel 讀取 xls 和 xlsx 文件
- R SparkR refreshTable用法及代碼示例
- R readr read_builtin 從包中讀取內置對象
- R readr Tokenizers 分詞器。
- R readr melt_table 返回空格分隔文件中每個標記的熔化數據
- R readr date_names 創建或檢索日期名稱
- R SparkR read.jdbc用法及代碼示例
- R readr type_convert 重新轉換現有 DataFrame 中的字符列
- R readxl excel_sheets 列出 Excel 電子表格中的所有工作表
- R readxl readxl_example 獲取 readxl 示例的路徑
- R readxl excel_format 確定文件格式
注:本文由純淨天空篩選整理自Jennifer Bryan等大神的英文原創作品 Render a document in a new R session。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。