gpt4 book ai didi

r - knitr:如何在不使用 setwd() 的情况下在 knit2html 中设置图形路径?

转载 作者:行者123 更新时间:2023-12-04 13:39:44 24 4
gpt4 key购买 nike

我在一个项目文件夹中工作,假设它的绝对路径是:/project . getwd()告诉我我在这个项目文件夹中。我所有的文件读写都是相对于这个项目根目录的。 /project有一个子文件夹 /project/docs/其中有一个 R Mardown 文件和一个 R 脚本:

report.Rmd包含:

```{r }
plot(cars)
```

knit_reports.R包含:
library(knitr)
knit2html("./docs/report.Rmd", "./docs/report.html")

如果我运行 knit_reports.R , 生成 html 页面,但页面上不显示数字。

问题是数字存储在 /project/figures 下.它们对于 html 文档生成不可见。我正在寻找一种方法来告诉 knitr 在 /project/docs/figures 下存储图片反而。

report.Rmd 中设置 knitr 选项 root.dir 或 base.dir没有解决问题,我试过 opts_knit$set(root.dir = "./docs")opts_knit$set(base.dir = "/project/docs") .

但是,如果我将工作目录更改为 /project/docs :
setwd("./docs/")
knit2html("report.Rmd", "report.html")

A /project/docs/figure文件夹被创建,数字出现在 html 页面上。

许多人说在脚本中使用 setwd() 不好,因为它会破坏可重复性。如何在不使用 setwd() 的情况下告诉 knitr 将图形放置在我的项目子文件夹中?

最佳答案

看看这个page on chunk options .特别是,您有两个选择

  • 使用 fig.path相对于您的工作目录 (OR)
  • 设置绘图目录
  • 使用 base.dir设置保存绘图的绝对目录。

  • 我认为 (2) 在您的上下文中可能是更好的解决方案。请勿使用 setwd()knitr文档,因为这不是保持文档可复制的良好做法。

    关于r - knitr:如何在不使用 setwd() 的情况下在 knit2html 中设置图形路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21582402/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com