我正在尝试编写一个闪亮的应用程序,它打印我的功能代码并将其保存为.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")
答案 0 :(得分:1)
您可以使用
func.string <- capture.output(print(MyFunction))
这是我在docstring包中采用的方法,用于收集源代码,以便能够检测和提取任何文档注释。