我想写一个在RStudio中创建新项目的模板。我想做的是:
ProjectTemplate
包创建一个新项目:create.project('MyNewProject')
。 我相信我可以编写第2步和第3步。但我不知道如何通过脚本在RStudio中创建新项目。如果有可能,我该怎么做?
答案 0 :(得分:5)
.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
)。
答案 1 :(得分:3)
正在寻找这件事,并注意到RStudio最近为此做了一些事情。
以为如果有人帮助其他人,我会给出答案。
https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html
答案 2 :(得分:3)
使用新软件包usethis
,对问题1的简单回答为:
library(usethis)
create_project(path = "MyNewProject", open = TRUE, rstudio = TRUE)
此代码将创建一个文件夹“ MyNewProject”,创建“ MyNewProject.Rproj”文件,并使用工作目录“ MyNewProject”打开一个新的RStudio会话。
在新会话中,现在位于“ MyNewProject”文件夹中,您可以运行以下代码来初始化本地git repo
library(usethis)
use_git()
如果所有git都配置正确,您甚至可以在github中创建一个远程仓库,
use_github()
两个有用的参考是:
答案 3 :(得分:2)
我知道这是一个较旧的问题,但对于其他人来说,有一种方法可以在脚本中编写.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
! :)