在R中创建默认注释标题模板?

时间:2016-11-15 17:30:55

标签: r

是否可以在R中为所有新脚本创建默认注释标题模板?

我通常在所有脚本的顶部包含一些标准信息,并希望自动创建注释标题的过程。

例如:

##################################################
## Project:
## Script purpose:
## Date:
## Author:
##################################################

3 个答案:

答案 0 :(得分:6)

根据上述@lmo的建议,我通过编辑位于Preferences > Code > Edit Snippets的片段文件在RStudio中创建了两个新的代码片段

注意: 代码段定义下方的代码必须使用标签缩进,而不是两个空格

代码段1:新脚本的评论标题

snippet header_script
  ##################################################
  ## Project:
  ## Script purpose:
  ## Date:
  ## Author:
  ##################################################

代码段2:脚本中代码段的注释标题:

snippet header_section
  ## Section:
  ##################################################

现在,每当我想插入一个给定的标题时,我就开始输入代码段名称(例如header_script),从自动完成菜单中选择它(完全输入),然后按Enter键插入注释标题。

答案 1 :(得分:3)

我不知道你是否可以直接这样做,但你可以通过在Rprofile中加入以下内容来近似它。

seed.set(1234)
row.rand = sample(1:40, 30)
col.rand = sample(1:40, 30)
Mat1.new = matrix(NA, 30,30)
Mat2.new = matrix(NA, 30,30)
for(i in 1:length(row.rand)){
    for(j in 1:length(col.rand)){
        Mat1.new[i,j] = Mat1[row.rand[i],col.rand[j]]
        Mat2.new[i,j] = Mat2[row.rand[i],col.rand[j]]
    }
} 
emd2d(Mat1.new, Mat2.new)

每次R启动时都会运行,并将空白模板写入工作目录,只要它不存在即可。您还可以在具有不同for (int i = 0; i < 6; i++) { // do something in here } 值的任何点运行该函数,以在其他位置创建空白模板。

一个很好的补充触摸是第二个查看文件的函数,尝试识别标题,如果找不到标题则插入它。

答案 2 :(得分:0)

如果您使用的是 vim ,则可以在单独的R-snippet文件中定义一个类似此ultisnips的代码段:

snippet header "R Header template" b
#' ---
#' title:  ${1:title here}
#' author: ${2:John Smith (John@Smith.com)}
#' date:   ${3:`date +%Y-%m-%d`}
#' ---
endsnippet

您只需键入header<tab>即可节省大量时间,特别是因为它填写了预定义的值(此类日期)。

这似乎也与Rmarkdown兼容here