HBa*_*Bat 4 r project-template rstudio
我想写一个在RStudio中创建新项目的模板.我想做的是:
ProjectTemplate此文件夹中的包创建一个新项目:create.project('MyNewProject').我相信我可以编写第2步和第3步.但我不知道如何通过脚本在RStudio中创建一个新项目.如果有可能,我该怎么办?
使用新包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)
两个有用的参考是:
没有什么特别的.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).
正在寻找这个东西,并注意到 RStudio 最近为此推出了一些东西。
以为我会提出一个答案,以防它对其他人有所帮助。
https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html