반복 제어문이랑 반복문 내에서 사용할 수 있는 제어문으로, 어떠한 조건을 만나면 그 부분만 skip하게하거나(중간에 특정 케이스만 반복하고싶지 않은 경우), 조건이 무한히 진행되다가 어떤 조건을 만나면 반복을 끝나게 하는 것들이다. 반복 제어문을 통하여 반복문의 중간 제어 시점을 정의할 수 있다.
1. next: next를 만나면 반복문 내부에 있는 명령어의 실행을 skip 한다.
예를 들어 위와 같은 R 코드가 있다고 가정했을 때 cmd1은 10번 수행되나 next 다음에 오는 cmd2, cmd3은 next가 포함된 if문과 같은 depth이므로 실행을 skip 한다.
즉 여기서도 같은 depth인 cmd4에만 영향을 미친다.
2. break: 예외 처리를 위하여 주로 사용되는 문장으로, break를 만나면 즉시 반복문을 종료한다.
10번 돌아가는 반복문 안에서 i가 5일 때 break가 걸리므로, cmd1은 5번, cmd2, cmd3은 4번, 반복문과 연관없는 cmd4는 한 번 실행된다.
3. quit: 프로그램 종료문으로 사실상 거의 사용하지 않는다.
for문 바깥의 cmd1, cmd2는 한 번씩 수행, cmd3은 5번 수행, cmd4는 4번 수행, 그리고 quit에서 아예 프로그램이 종료되어버리니 cmd5는 수행되지 않는다.
연습문제로 적용해보자.
1. 1부터 100까지의 누적합을 계산하여라(단 50~60은 제외한다, for문 사용)
참고로 between 연산자가 포함된 패키지가 있다.
dplyr 를 설치하고 로드하면 다음과 같은 포맷으로 사용 가능하다.
between(대상, a, b)
그럼 위 between을 적용하면 다음과 같이 풀 수 있다.
2. 1부터 100까지의 누적합을 계산하는 과정에서 누적합이 3000이 되는 시점을 확인하여라(for문 사용)
'배우기 > 복습노트[R과 분석]' 카테고리의 다른 글
[복습] R(programming language)에서 날짜 추출하기(Sys.Date, Sys.time, lubridate 등) + 복습후기(20231128) (0) | 2023.11.29 |
---|---|
[복습] R(programming language) 이전값 가져오기(zoo::na.locf) (0) | 2023.11.29 |
[복습] R(programming language)에서 SQL 작성하기(sqldf 패키지) (0) | 2023.11.28 |
[복습] R(programming language)의 숫자(수학/통계) 함수 (0) | 2023.11.28 |
[실습문제] 2023. 11. 27.(월) (3문제) (0) | 2023.11.28 |