在R中的外部迭代之后启动嵌套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

我有两个for循环,一个在另一个内部。我想在第一个for循环运行一次之后才启动第二个内部循环。我希望第一个for循环运行一次,跳过第二个for循环,然后运行第二个for循环中的代码。然后,在第一次迭代之后,我希望第二个for循环开始

我试着做第一个for循环,然后在它后面放一个if语句,只允许第二个循环在第一个循环运行一次后开始,但是我必须复制第二个for循环中的所有代码,这样才能运行任何东西

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"