Скрипт для создания нового проекта в Rstudio


Я хочу написать шаблон, который создает новые проекты в RStudio. То, что я хочу сделать, это:

  1. Создайте новый проект Rstudio в папке под названием "MyNewProject"
  2. Создайте новый проект, используя пакет ProjectTemplate в этой папке, используя: create.project('MyNewProject').
  3. внесите некоторые изменения в эту папку.

Я считаю, что могу кодировать шаги 2 и 3. Но я не знаю, как создать новый проект в RStudio по сценарию. Если это возможно, как я могу это сделать?

3 3

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 из кода! :)