Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除函数中导致其在R中停止的元素_R_List_Function_Error Handling - Fatal编程技术网

删除函数中导致其在R中停止的元素

删除函数中导致其在R中停止的元素,r,list,function,error-handling,R,List,Function,Error Handling,我有两个简单的函数:f1和f2假设我们只能访问f2。如何删除f2中导致f1停止并返回其余输出的任何输出 代码下面显示了我想要的输出 如果任何…输入出现错误,f1中的逻辑似乎会停止所有操作 因此,在f2中,你可以一个接一个地将输入输入输入f1,正常的输入将得到正确的输出 f1 #> #> [[2]] #> [[2]][[1]] #> [1] 3 由(v0.3.0)于2019-10-29创建 编辑:从f2的输出中删除带有try error的结果。请在我的R代码末尾查看我想要的输出?我认为期望输

我有两个简单的函数:
f1
f2
假设我们只能访问
f2
。如何删除
f2
中导致
f1
停止
并返回其余输出的任何输出

代码下面显示了我想要的输出


如果任何
输入出现错误,f1中的逻辑似乎会停止所有操作

因此,在f2中,你可以一个接一个地将输入输入输入f1,正常的输入将得到正确的输出

f1
#> 
#> [[2]]
#> [[2]][[1]]
#> [1] 3
由(v0.3.0)于2019-10-29创建



编辑:从f2的输出中删除带有
try error
的结果。

请在我的R代码末尾查看我想要的输出?我认为期望输出与输入具有相同的长度是合理的,错误输出可以进一步处理。例如,如果输入f2(1,2,4,5)会怎么样?根据您想要的输出,它应该输出(2,3,6)。如果你同意,我可以更新我的答案。
# FUNCTION #1:
f1 <- function(...){

   r <- list(...)
   lapply(seq_along(r), function(i) if(r[[i]] == 4) stop("Problem") else r[[i]] + 1)
}

# FUNCTION #2:
f2 <- function(...){

   res <- try(f1(...), silent = TRUE)

  # if any 'res' causes 'stop' remove it, and return the rest!
}

# EXAMPLE:
f2(1, 2, 4)
#[[1]]
#[1] 1

#[[2]]
#[1] 2