r - 采购 R 项目中的 R 文件并维护相对路径
问题描述
好的,所以我喜欢在 Rstudio 中使用 R 项目来处理我正在使用的脚本和数据。但是,假设我想在另一个目录中获取这些脚本...R 不会检测到 .Rproj 文件,除非从它所在的目录调用该脚本。有没有办法从另一个目录获取属于 R 项目一部分的 R 脚本?
这是相关的,因为我有一个系统,我在一个目录中执行分析并制作图形,然后生成在另一个目录中使用这些图形的 LaTeX 文档。我希望能够获取制作图形的 R 脚本并将它们保存到我用 LaTeX 编写的目录中。
这是一个MRE:
已经在目录中创建了一个 R 项目(通过 Rstudio 完成)......让我们称之为 ~/test.
创建一些数据:
a <- 1:10
dat <- data.frame(a = a, b = a + rnorm(length(a), 10, 2))
save(dat, file = "test.RData")
将以下脚本放入 ~/test. 我们称之为 test.R。
load("test.RData")
pdf(file = "plot.pdf")
plot(b ~ a, data = dat)
dev.off()
效果很好,对吧?但是,如果我们从任何其他目录尝试以下操作,R 就无法弄清楚。
cd ~
Rscript ~/test/test.R
有什么深思熟虑的解决方案吗?我想只setwd()
在我从中获取原始脚本的脚本中就很容易了,但这违背了使用 R 项目的全部目的。
解决方案
您可以setwd("~/test/")
在脚本的开头使用,如有必要,稍后再将其更改。
推荐阅读
- python - 在 groupby 和 apply 函数之后,输出列名丢失
- c# - 将 Int 数组传递给 ASP .NET 控制器
- javascript - 导出功能在 JavaScript 中不起作用
- asp.net - 在 Visual Basic 中创建一个将 pdf 文件作为输入(上传)的 ASP.net Web 应用程序
- c - Error: definition of ‘int __atomic_compare_exchange(params1)’ ambiguates built-in declaration ‘bool __atomic_compare_exchange(params2)’
- excel - 除非我删除撇号,否则将千位分隔符和撇号添加到数字不会显示分隔符?
- spring-boot - Kafka:元数据异常中不存在主题
- compiler-construction - 这个 yacc 语法中的 shift/reduce 冲突在哪里?
- opencv - 适用于各种光照条件的线路跟随器的 HSV 范围
- javascript - dc.js x 轴显示为十进制而不是整数