我在 R 中有一个 for 循环。 在 for 循环里面我有
kl<-stri_detect_fixed(nn, "new")
在某些情况下,kl 是逻辑(0)。如果是这种情况,我想跳过当前迭代并继续 R 中的下一个迭代。
我尝试过类似的事情
if (is.logical(kl)==T) {
next
}
但是不起作用。有什么想法吗?
非常感谢
stringi::stri_detect_fixed()
的返回值是逻辑向量,因此is.logical(kl)
始终为TRUE
。lst <- list(a = c("foo", "bar"),
b = NULL,
c = "news")
for (nn in lst){
kl <- stringi::stri_detect_fixed(nn, "new")
if (length(kl) < 1) next
message("no skip for ", paste(nn, collapse = ", "))
}
#> no skip for foo, bar
#> no skip for news
或者如果输入是
NULL
:
for (nn in lst){
if (is.null(nn)) next
kl <- stringi::stri_detect_fixed(nn, "new")
message("no skip for ", paste(nn, collapse = ", "))
}
#> no skip for foo, bar
#> no skip for news
创建于 2024-09-21,使用 reprex v2.1.1