在Rstudio中创建新项目的脚本

HBa*_*Bat 4 r project-template rstudio

我想写一个在RStudio中创建新项目的模板.我想做的是:

  1. 在名为"MyNewProject"的文件夹中创建一个新的Rstudio项目
  2. 使用ProjectTemplate此文件夹中的包创建一个新项目:create.project('MyNewProject').
  3. 在此文件夹中进行一些修改.

我相信我可以编写第2步和第3步.但我不知道如何通过脚本在RStudio中创建一个新项目.如果有可能,我该怎么办?

jos*_*rrà 8

使用新包usethis,您的问题 1 的更简单答案如下:

library(usethis)
create_project(path = "MyNewProject", open = TRUE, rstudio = TRUE)
Run Code Online (Sandbox Code Playgroud)

此代码创建一个文件夹“MyNewProject”,创建“MyNewProject.Rproj”文件并打开一个工作目录为“MyNewProject”的新 RStudio 会话。

在新会话中的“MyNewProject”文件夹中,您可以运行以下代码来初始化本地 git 存储库

library(usethis)
use_git()
Run Code Online (Sandbox Code Playgroud)

如果你正确配置了所有 git,你甚至可以在 github 中创建一个远程存储库,使用

use_github()
Run Code Online (Sandbox Code Playgroud)

两个有用的参考是:

  1. 用这个

  2. 为用户带来快乐的 Git 和 Github


Tyl*_*ker 5

没有什么特别的.Rproj文件,只是一个文本文件(或默认):

Version: 1.0

RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default

EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 4
Encoding: UTF-8

RnwWeave: knitr
LaTeX: pdfLaTeX
Run Code Online (Sandbox Code Playgroud)

所以这个功能会做你想要的:

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")
Run Code Online (Sandbox Code Playgroud)

对于hit打开文件夹并使用:

qdapTools::repo2github()
Run Code Online (Sandbox Code Playgroud)

在控制台中(当然你需要安装qdapTools).


Joh*_*arr 5

正在寻找这个东西,并注意到 RStudio 最近为此推出了一些东西。

以为我会提出一个答案,以防它对其他人有所帮助。

https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html