R for 루프 ifelse 다음 반복으로 건너 뛰기


92

다음과 같은 for 루프가 있다고 가정합니다.

for(n in 1:5) {
  #if(n=3) # skip 3rd iteration and go to next iteration
  cat(n)
}

특정 조건이 충족되면 어떻게 다음 반복으로 건너 뛸 수 있습니까?


8
대신 조건이 충족 될 때 건너 뛰는, 당신은해야 건너 뛰지 조건이 될 때 충족되지 -for(n in 1:5){if(n!=3){cat(n)}}
MichaelChirico

답변:


162
for(n in 1:5) {
  if(n==3) next # skip 3rd iteration and go to next iteration
  cat(n)
}

5
산뜻한. OP : ?Control유사한 기능 참조
MichaelChirico

참으로 아주 깔끔한 대답입니다. 만약 제가 for(n in 1:5) { if(n==3) print ('3rd iteration' ) next # skip 3rd iteration and go to next iteration cat(n) }3 번째 반복을 건너 뛰겠다는 것을 인쇄하고 싶다는 의미 와 같은 것을하고 싶다면, 어떤 경우에는 일을 다루기 위해 건너 뛴 것을 기록해야합니다.
Jason Goal

1
@Jason Goal-다음 if과 같이 성명서에 추가 괄호가 필요 합니다for(n in 1:5) { if(n==3) { print ('3rd iteration' ) ; next } # skip 3rd iteration and go to next iteration cat(n) }
Alexey Ferapontov 2017

감사합니다 @ Alexey Ferapontov, 이제 '추가 대괄호'오류가 내 이전 버전에서 계속 나타나는 이유를 알 수 있습니다.
Jason Goal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.