提问人:user22757672 提问时间:10/20/2023 更新时间:10/20/2023 访问量:47
R 循环,带有与对象存在有关的 if 语句
R Looping with an if statement having to do with object existence
问:
假设,带有 if 语句的循环的逻辑是什么,其中测试表达式是“当对象运行并且存在时,执行代码 A”,否则“执行代码 b”?如何运行 for 循环 运行一个对象并让循环继续到 if 语句而不中断。思潮?
for(i in 1:10){
code
object<- code
if (object doesn't exist){
code A
}
else{
code B
}
}
答:
1赞
Jon Spring
10/20/2023
#1
这是一个演示,但我更喜欢它更简洁。
for (i in 1:4) {
if (i == 2) {a <- "TWO!"} else { if (exists("a")) rm(a) }
if(!exists("a")) {
message("i: ", i, " and a doesn't exist")
} else {
message("i: ", i, " and a is ", a)
}
}
#i: 1 and a doesn't exist
#i: 2 and a is TWO!
#i: 3 and a doesn't exist
#i: 4 and a doesn't exist
a
在定义之前不存在于循环中。然后下次我删除它。i == 2
因此,当我们进入包含消息的部分时,我们可以单独处理是否存在,并相应地输出。a
评论
if (!exists("object")) {
code
code
i
NULL
if (exists("object")) { ... } else { ... }
quux <- 1:10
exists("quux")
TRUE
FALSE