用于在Rstudio中创建新项目的脚本
我想写一个模板,在RStudio中创建新项目。我想做的是:用于在Rstudio中创建新项目的脚本,r,rstudio,project-template,R,Rstudio,Project Template,我想写一个模板,在RStudio中创建新项目。我想做的是: 在名为“MyNewProject”的文件夹中创建新的Rstudio项目 使用此文件夹中的ProjectTemplate包创建一个新项目,方法是:Create.project('MyNewProject') 在此文件夹中进行一些修改 我相信我可以编写步骤2和步骤3。但我不知道如何通过脚本在RStudio中创建新项目。如果可能的话,我该怎么做呢?对于.Rproj文件没有什么特别之处,只是一个文本文件,其中包含(或任何默认值): 因此,此函数
ProjectTemplate
包创建一个新项目,方法是:Create.project('MyNewProject')
李>
我相信我可以编写步骤2和步骤3。但我不知道如何通过脚本在RStudio中创建新项目。如果可能的话,我该怎么做呢?对于
.Rproj
文件没有什么特别之处,只是一个文本文件,其中包含(或任何默认值):
因此,此函数将执行您所要执行的操作:
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")
在控制台中(当然您需要安装
qdapTools
)。我知道这是一个老问题,但对于其他人来说,有一种方法可以在脚本中对.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>
现在可以从代码中创建
.Rproj
:) 正在寻找这个东西,并注意到RStudio最近为此推出了一些东西
我想我会给出一个答案以防对其他人有帮助
对于新的软件包
使用此
,问题1的简单答案如下:
library(usethis)
create_project(path = "MyNewProject", open = TRUE, rstudio = TRUE)
这段代码创建一个文件夹“MyNewProject”,创建“MyNewProject.Rproj”文件,并打开一个新的RStudio会话和工作目录“MyNewProject”
在新会话中,现在在“MyNewProject”文件夹中,您可以运行以下代码来初始化本地git repo
library(usethis)
use_git()
如果正确配置了所有git,甚至可以在github中使用
use_github()
两个有用的参考资料是:
您是否查看了
devtools
,特别是create
函数?(请注意,这将在文件夹中创建一个R包,而不仅仅是R项目)@DavidRobinson不,我没有。我只需要一个代码,创建一个文件夹,其中包括“MyNewProject.Rproj”文件和一个git,在步骤1中随附。您可以编写一个,并将其放入.Rprofile
非常感谢您的回答。我相信没有方法通过R代码从RStudio的接口创建一个新项目。那很好。我可以使用您提供的方法创建项目模板。我使用system.file使用您的脚本已经有一段时间了,但它不再有效。不知道出了什么问题?@marc Functionuse\rstudio
现在是软件包的一部分use此
与2018年10月30日发布的2.0.0版devtools软件包分离。看见
library(usethis)
create_project(path = "MyNewProject", open = TRUE, rstudio = TRUE)
library(usethis)
use_git()
use_github()