2. 연산자
산술 연산자 (Arithmetic Operators) : 덧셈, 뺼셈, 곱셈, 나눗셈 등의 사칙연산과 지수 연산 등을 수행
관계 연산자 (Relational Operators) : 관계 연산자는 의사결정문에서 주로 쓰이는 연산자
논리 연산자 (Logical Operators) : R의 객체 내부의 각 성분별 비교 연산을 수행하고, 그에 따른 결과를 반환하는 연산자
대입(할당) 연산자 (Assignment Operators) : 변수와 변수, 혹은 상수와 변수 사이에 값을 대입 또는 할당을 위한 연산자
기타 연산자 (Miscellaneous Operators) : R에서 벡터를 생성하거나 성분의 존재 여부를 검증할 때 활용하는 연산자
1. 의사결정 구조
의사결정 구조의 용도
- if문 : 조건이 참일 때만 명령문을 수행
- if~else문 : 조건에 따라 별개의 명령문을 수행
- switch문 : 다양한 값의 조건에 따라 별개의 명령문을 수행
* if 문
특징
조건이 참(TRUE)인 경우에만 명령문 수행
가장 단순한 의사결정 구조
* if~else문
특징 : 조건이 참(TRUE)인 경우와 거짓(FALSE)인 경우서로 다른 명령문을 수행하는 의사결정 구조
* switch문
특징
- 조건이 일치하는 경우(case)의 명령문을 실행
- 조건이 다수로의 분기를 가질 때 유리
- 다른 프로그래밍 언어와 달리 기본값(default)이 없음
문법
switch( 조건, case1, case2, --- , caseN)
2. 루프
정의 : 특정한 명령문을 조건에 따라 여러 번 실행하고자 할 때 사용하는 구조
종류
- repeat 루프
- while 루프
- for 루프
* repeat 루프
특징
- 무한히 반복하여 명령문을 실행하는 루프 구조
- if문과 break를 사용하여 반복에서 탈출할 수 있음
* while 루프 while문은 조건이 참인 경우에만 한정하여 동일한 명령문을 반복하여 실행하는 구조
특징
- 조건이 참이면 동일한 명령문을 다시 실행하는 루프
- 명령문의 실행 결과에 따라 조건이 거짓이 되면 반복문으로부터 탈출하는 것이 가능
* for 루프
특징
- 벡터의 각 성분에 따라 반복하는 루프 구조
- 벡터 성분의 위치(index)에 일일히 접근하지 않으므로 벡터 성분별 명령문을 수행하는 구조일 때 유리
- 벡터 성분의 값을 대입하기 위한 변수 지정 필요
* break문
특징 : 현재 실행중인 루프문을 중단하고, 루프문 이후 명령문부터 실행하는 루프 제어 명령문
* next문
현재 실행중인 루프문을 중단하고, 루프문의 처음으로 되돌아가 명령문을 실행하도록 흐름을 제어하는 루프 제어 명령문
적용 방법 : if문 등을 이용하여 사용하는 것이 일반적
3. 함수
함수(function) : 특정한 작업을 수행하는 명령문과 구조를 나열한 집합
기본 함수 (built-in functions)
R에서 기본으로 정의되어 있는 함수
사용자 정의 함수 (user defined functions)
사용자가 자신의 목적에 맞게끔 함수명, 명령문,실행구조, 입력인자, 출력인자를 지정한 함수
함수 호출 (Function Calling)
문법
<함수명>(<입력인자1>,<입력인자2>,---)
<함수명>(<입력인자명1=입력인자1>,<입력인자명2=입력인자2>,---)
사용자 정의 함수 생성 문법
사용자 정의 함수를 생성할 때에는 반드시 함수명, function 키워드, 중괄호 등을 포함하여야 하며, 선택요소는 입력인자, 출력인자, 입력인자명 등이다. 즉, 입력인자, 출력인자, 입력인자명이 모두 없는 사용자 정의 함수도 존재할 수 있다
문법
<함수명><function(입력인자명1=)<입력인자1>,---){
---}
구성요소
- 필수요소 : 함수명, function 키워드, 중괄호 등
- 선택요소 : 입력인자, 출력인자, 입력인자명 등
'빅데이터' 카테고리의 다른 글
[빅데이터 7] 데이터 통계 분석 (분산분석 / 상관분석) (0) | 2021.09.28 |
---|---|
[빅데이터 6] 데이터 통계 분석 (확률/통계, 확률 분포, 모집단의 추정) (0) | 2021.09.28 |
[빅데이터 4] 빅데이터 분석 도구 R (0) | 2021.09.26 |
[빅데이터 3] 빅데이터 저장소 (0) | 2021.09.26 |
[빅데이터 2] 빅데이터 생성, 수집, 예시 (0) | 2021.09.21 |
댓글