Roxygen注释涉及使用#'为行添加前缀。
在编写和测试函数示例时,最好能够打开和关闭注释。我可以将代码复制并粘贴到vim上,然后删除或添加这些注释,但这不是很优雅。

  • 是否有任何简单的方法可以在Rstudio中切换制氧评论?
  • 另外,还有另一种方法可以有效地运行由roxygen注释字符注释掉的示例R代码吗?

  • 更新:从侧面考虑,我想使用@example examples/foo.r是避免必须将Roxygen注释用于实际示例代码的另一种方法(即,通过从文件中获取示例,即examples/foo.r)。

    最佳答案

    您可以编写自己的函数,该函数从R文件中提取示例代码。这类似于purl包或knit中的Stangle。这里是您可以做什么的示例。该函数效率不高,但我只是为了说明这一点而编写它。这应该是一个很好的起点。它还假定您已经获取了R文件,或者至少已在R session 中存在文档功能。

    purl.examples <- function(fileName){
      ll <- readLines(fileName)
      ex.lines <- grep('@examples',ll)   ## get the example's lines
      ## for each example loop till
      ## there is no comment (inefficient)
      examples  <- lapply(ex.lines , function(x){
        i <- x+1
        code <- list()
        while(grepl("#'",ll[i])){
          l <- c(code,gsub("#'","",ll[i],fixed=TRUE))
          i <- i+1
        }
        code
      })
    }
    

    然后,您可以像这样调用它:
    lapply(purl.examples('code.R'),
           function(ex) eval(parse(text=ex))) ## safer to use evaluate package here
    

    关于r - 如何在Rstudio中切换对Roxygen的评论?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19195501/

    10-13 09:37