Хорошо, мне нравится использовать R-проекты в Rstudio для сценариев и данных, с которыми я работаю. Однако предположим, что я хочу поместить эти сценарии в другой каталог ... 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-проекты.