Скрипт для создания нового проекта в Rstudio
Я хочу написать шаблон, который создает новые проекты в RStudio. То, что я хочу сделать, это:
- Создайте новый проект Rstudio в папке под названием "MyNewProject"
- Создайте новый проект, используя пакет
ProjectTemplate
в этой папке, используя:create.project('MyNewProject')
. - внесите некоторые изменения в эту папку.
Я считаю, что могу кодировать шаги 2 и 3. Но я не знаю, как создать новый проект в RStudio по сценарию. Если это возможно, как я могу это сделать?
3 ответа:
Ничего особенного в файле
.Rproj
, просто текстовый файл с (или что там по умолчанию):Version: 1.0 RestoreWorkspace: Default SaveWorkspace: Default AlwaysSaveHistory: Default EnableCodeIndexing: Yes UseSpacesForTab: Yes NumSpacesForTab: 4 Encoding: UTF-8 RnwWeave: knitr LaTeX: pdfLaTeX
Таким образом, эта функция будет делать то, что вы ищете:
myProject <- function(proj, ...) { require(ProjectTemplate) create.project(proj, ...) x <- c("Version: 1.0", "", "RestoreWorkspace: Default", "SaveWorkspace: Default", "AlwaysSaveHistory: Default", "", "EnableCodeIndexing: Yes", "UseSpacesForTab: Yes", "NumSpacesForTab: 4", "Encoding: UTF-8", "", "RnwWeave: knitr", "LaTeX: pdfLaTeX") cat(paste(x, collapse="\n"), file=file.path(proj, paste0(basename(proj), ".Rproj"))) message(paste(basename(proj), "has been created")) } myProject("MyNewProject.Rproj")
Для
hit
Откройте папку и используйте:qdapTools::repo2github()
В консоли (конечно, вам нужно будет установить
qdapTools
).
Искал именно эту вещь и заметил, что RStudio недавно выпустила что-то для этого.
Я решил дать ответ на тот случай, если это поможет кому-то еще.
Https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html
Я знаю, что это немного более старый вопрос ,но для других там есть способ кодировать.Rproj в сценарии.
Если вы посмотрите на функциюdevtools::create
, то увидите, что она называетсяuse_rstudio
. Глядя на содержимое этой функции, вы получаете:> devtools::use_rstudio function (pkg = ".") { pkg <- as.package(pkg) path <- file.path(pkg$path, paste0(pkg$package, ".Rproj")) if (file.exists(path)) { stop(pkg$package, ".Rproj already exists", call. = FALSE) } message("Adding RStudio project file to ", pkg$package) template_path <- system.file("templates/template.Rproj", package = "devtools") file.copy(template_path, path) add_git_ignore(pkg, c(".Rproj.user", ".Rhistory", ".RData")) add_build_ignore(pkg, c("^.*\\.Rproj$", "^\\.Rproj\\.user$"), escape = FALSE) invisible(TRUE) } <environment: namespace:devtools>
Смотрите раздел для
template_path
? Это код, который вы можете использовать для создания файла.Rproj
. Таким образом, конечный код в скрипте будет:path <- file.path('path/to/folder', paste0('foldername', ".Rproj")) template_path <- system.file("templates/template.Rproj", package = "devtools") file.copy(template_path, path)
Теперь вы можете создать
.Rproj
из кода! :)