D. *_*der 1 r r-markdown kableextra
我想使用 RMarkdown 和 kable 创建一个 pdf 文档:
\n---\ntitle: "markdown testfile"\nauthor: "author"\ndate: "2023-05-01"\noutput:\n pdf_document: default\n html_document: default\n---\n\n```{r setup, include=FALSE}\noptions(repos = list(CRAN="http://cran.rstudio.com/"))\ninstall.packages("tidyverse")\ninstall.packages("kableExtra")\n\nlibrary(tidyverse)\nlibrary(kableExtra)\n```\n\n```{r}\niris %>% \n dplyr::slice_sample(n = 10) %>% \n kbl() %>% \n kable_styling()\n```\nRun Code Online (Sandbox Code Playgroud)\n我收到的错误消息是:
\nFehler: Laden von Paket oder Namensraum f\xc3\xbcr \'kableExtra\': fehlgeschlagen\n.onLoad in loadNamespace() f\xc3\xbcr \'kableExtra\' fehlgeschlagen, Details:\nAufruf: !is.null(rmarkdown::metadata$output) && rmarkdown::metadata$output %in%\nFehler: \'length = 2\' in coercion to \'logical(1)\'\nAusf\xc3\xbchrung angehalten.\nRun Code Online (Sandbox Code Playgroud)\n翻译成英文:
\nError: Failed to load package or namespace for \'kableExtra\':\n.onLoad failed in loadNamespace() for \'kableExtra\', Details:\nCall: !is.null(rmarkdown::metadata$output) && rmarkdown::metadata$output %in%\nError: \'length = 2\' in coercion to \'logical(1)\'\nExecution halted.\nRun Code Online (Sandbox Code Playgroud)\n我已经尝试重新安装 kableExtra-package。\n如果我单击代码块的执行按钮,它会执行而不会出现任何错误。然而,输出看起来很奇怪:
\n\nkableExtra更新到 R 版本 4.3.0 后,我在使用 RMarkdown 文件时遇到了相同的错误。对我来说,在标题中仅列出一种输出格式就解决了问题。
在您的情况下,html_document: default从 RMarkdown 标头中删除应该可以消除该错误。您的示例中的标题应为:
---
title: "markdown testfile"
author: "author"
date: "2023-05-01"
output:
pdf_document: default
---
Run Code Online (Sandbox Code Playgroud)
kableExtra或者,您可以安装解决该问题的修补版本:
devtools::install_github("kupietz/kableExtra")
Run Code Online (Sandbox Code Playgroud)
当评估具有多个输出的 Markdown 文件中kableExtra 挂钩中的第 23-28 行时,会出现此错误。.onLoad从 R 版本 3.4.0 开始,“使用长度大于 1 的 LHS 或 [..] RHS 调用 or&&现在||总是错误”(请参阅 R 变更日志)。kupietz已经有一个相关的GitHub 问题和一个可能的解决方案。