deparse()带有'else'语句

时间:2017-05-03 12:17:49

标签: r

我正在尝试编写一个闪亮的应用程序,它打印我的功能代码并将其保存为.R文件,我可以运行以获得所需的输出。

要获取我正在使用 deparse 的功能代码。直到最近才开始工作,当时我的一个职能是if else声明。 deparse 倾向于将else}分开,因此如果我在.R文件中运行代码,我生成会出错:

Error: unexpected 'else' in "else"

有没有办法解决这个问题?

我的示例代码如下:

 MyFunction <- function(dat){
    if(any(dat == 1)){
      print("1 is observed")
    }else{
      print("1 is not present")
    }

  }

  func.string <- deparse(MyFunction)
  codeOfInterest <-func.string[3:8] 
  write(codeOfInterest, "Code.R")

1 个答案:

答案 0 :(得分:1)

您可以使用

func.string <- capture.output(print(MyFunction))

这是我在docstring包中采用的方法,用于收集源代码,以便能够检测和提取任何文档注释。