看起来next
语句(用于停止当前评估并转到for循环的下一次迭代)在apply
函数内不起作用。
示例:lapply(1:10, function(x) if (x == 5) {next} else {print(x)})
next
中的apply
是否方便替换?
答案 0 :(得分:1)
以下是使用Hadley的 purrr 包的选项:
library(purrr)
1:5 %>% map_if(~.x != 5, ~print(.x))
答案 1 :(得分:1)
像你这样的案件的简短回答是return
。
lapply(1:10, function(x) if (x == 5) {return()} else {print(x)})
有道理,因为您正在应用的代码是一个函数。显然我假设你的真实案例更复杂,而忽略if
的真正手臂是行不通的。