gpt4 book ai didi

r - 在R中的for循环内运行函数时中断for循环

转载 作者:行者123 更新时间:2023-12-04 05:27:26 24 4
gpt4 key购买 nike

假设您具有以下函数foo。当我运行for循环时,我希望它在foo最初返回foo的值时跳过0的其余部分。但是,break在函数内部时不起作用。

就目前而言,我收到一条错误消息no loop to break from, jumping to top level

有什么建议么?

foo <- function(x) {
y <- x-2
if (y==0) {break} # how do I tell the for loop to skip this
z <- y + 100
z
}


for (i in 1:3) {
print(foo(i))
}

最佳答案

诚然,我的R知识很稀疏,并且是经过干燥编码的,但是类似以下的内容应该可以工作:

foo <- function(x) {
y <- x-2
if (y==0) {return(NULL)} # return NULL then check for it
z <- y + 100
z
}

for (i in 1:3) {
j <- foo(i)
if(is.null(j)) {break}
print(j)
}

编辑:更新后代的空检查

关于r - 在R中的for循环内运行函数时中断for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2513142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com