在R中的外部迭代之后启动嵌套for循环
我有两个for循环,一个在另一个内部。我想在第一个for循环运行一次之后才启动第二个内部循环。我希望第一个for循环运行一次,跳过第二个for循环,然后运行第二个for循环中的代码。然后,在第一次迭代之后,我希望第二个for循环开始 我试着做第一个for循环,然后在它后面放一个if语句,只允许第二个循环在第一个循环运行一次后开始,但是我必须复制第二个for循环中的所有代码,这样才能运行任何东西在R中的外部迭代之后启动嵌套for循环,r,for-loop,R,For Loop,我有两个for循环,一个在另一个内部。我想在第一个for循环运行一次之后才启动第二个内部循环。我希望第一个for循环运行一次,跳过第二个for循环,然后运行第二个for循环中的代码。然后,在第一次迭代之后,我希望第二个for循环开始 我试着做第一个for循环,然后在它后面放一个if语句,只允许第二个循环在第一个循环运行一次后开始,但是我必须复制第二个for循环中的所有代码,这样才能运行任何东西 option_2 <- 0 for (option in 1:8){ for (opti
option_2 <- 0
for (option in 1:8){
for (option_2 in 0:4){
#do something
}
}
选项2这里有一种使用next
的方法。请注意,第一个循环在进入第二个循环之前运行了两次-
for (i in 1:3) {
print("1st loop")
if(i == 1) next
for (j in 1:2) {
print("2nd loop")
}
}
[1] "1st loop"
[1] "1st loop"
[1] "2nd loop"
[1] "2nd loop"
[1] "1st loop"
[1] "2nd loop"
[1] "2nd loop"
这个问题有点过于笼统:如果你真的必须复制中的所有内容,做一些事情,那么你就不需要第一次分离。如果它们非常相似,但仅以firsttime
的逻辑为条件,则编写一个函数,该函数包含相关数据/参数加上firsttime=
参数,并基于此区分函数代码。由于缺乏更为实质性的内容,这里没有什么可供讨论的。其中的“#do something”代码在两者之间完全相同。我想我可以把它变成一个函数,但我只是想看看是否有一种方法可以不调用“#do something”函数来实现这一点,因为如果我必须将它列为函数,我必须将需要的数据格式化为返回值。太好了,我想这正是我想要的!
for (i in 1:3) {
print("1st loop")
if(i == 1) next
for (j in 1:2) {
print("2nd loop")
}
}
[1] "1st loop"
[1] "1st loop"
[1] "2nd loop"
[1] "2nd loop"
[1] "1st loop"
[1] "2nd loop"
[1] "2nd loop"