首页 > 解决方案 > knitr opts_knit$set(root.dir = "../") 当 chunk_output_type: 控制台被忽略

问题描述

我的 .Rmd 文件的实际工作目录是"C:/Users/Camilo Erasso/Documents". 我想knitr::opts_knit$set(root.dir ="D:/CAMILO")在设置块中使用它来更改它。

这适用于默认 YAML 选项:editor_options: chunk_output_type: inline. 但是当我将此选项更改editor_options: chunk_output_type: console为新的工作目录时,将被忽略或未更改。

我不习惯使用内联结果(我更喜欢控制台),因此我使用此选项。相同的选项可以在RStudio>Tools>Global Options...>R Markdown>Show output inline for all R Markdown documents (uncheck).Rmd setting buttom (next to Knit buttom)> Chunk Output in Console

玩具示例:

---
title: "Example root.dir change"
author: "Camilo Erasso"
date: "2 de abril de 2019"
output: html_document
---

```{r setup, include=FALSE}
getwd() #[1] "C:/Users/Camilo Erasso/Documents"
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir ="D:/CAMILO")
```

```{r}
getwd() #[1] "D:/CAMILO"
```

但是当使用控制台输出选项时:

---
title: "Example root.dir change"
author: "Camilo Erasso"
date: "2 de abril de 2019"
output: html_document
editor_options: 
  chunk_output_type: console
---

```{r setup, include=FALSE}
getwd() #[1] "C:/Users/Camilo Erasso/Documents"
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir ="D:/CAMILO")
```

```{r}
getwd() #[1] "C:/Users/Camilo Erasso/Documents" or NOT CHANGED
```

这个问题和这个略有不同:https ://github.com/yihui/knitr/issues/1575

与此相关:https ://github.com/rstudio/rmarkdown/issues/1077 而这个html_notebook 忽略了全局块选项

这是和 RStudio 的问题吗?谢谢你的帮助!!!

标签: rrstudior-markdownknitrbookdown

解决方案


推荐阅读