首页 > 解决方案 > knitr在渲染时没有正确采购项目.Rprofile

问题描述

我有一个设置了 .Rprofile 的 Rstudio 项目,其中包含

library(tidyverse)
library(knitr)
knitr::opts_chunk$set(cache.path='cache/', fig.path='figures/')

当我渲染成 html 时,我在子目录中单独有一个 .Rmd 文件。但是,在我直接使用 .Rprofile 获取它之前,似乎根本没有获取它source(here('.Rprofile'))。我确实知道它在控制台中正确获取,并且我希望 knitr 渲染过程将其获取到(无需我直接执行)。到底是怎么回事?谢谢!

标签: rr-markdownknitr

解决方案


当您单击 Rstudio 中的 knit 按钮时,它会启动一个单独的 R 会话来编译文档(源),并且此过程发生在 .Rmd 文件所在的目录中。如果该目录不是您的项目根目录(即您的 .Rprofile 所在的位置),则 .Rprofile 的来源不正确。要获取它,请将其添加到 .Rmd 的顶部:

source("../.Rprofile", chdir = TRUE)

推荐阅读