我认为大多数人都遇到了同样的问题
f1 = function(){
function1() #takes 1hour
b = function2() #takes 2hours
c = function3(b)
statement1
statement2
...}
假设function1和function2非常耗时,我想跳过至少其中一个,看看我的函数的其余部分是否有效
问题1: 有没有办法跳过function1?
问题2: 有没有办法跳过function2?这个函数2生成结果b,这对于函数继续是至关重要的,在java中有一种方法来破解b的值并使进程继续,这在R中是否也可能?
答案 0 :(得分:1)
1)在调试器中,您可以在现场重新定义功能。例如,在到达调用function1
之前的任何时候,请将其输入调试器:
function1 <- list
现在调用function1()
实际上会调用list()
。
这可以在调用之前在f1
之外完成。在这种情况下,我们可能希望先将function1
存储在另一个名称中,以便能够轻松恢复它。
function1.orig <- function1
function1 <- list
稍后,在我们完成调试之后,我们可以通过编写:
来恢复function1
function1 <- function1.orig
2)对于function2
,您可能希望按以下方式重新定义,其中32是稍后需要的临界值。
function2 <- function() 32