1. R이란?
- R은 통계 및 데이터 분석을 위한 프로그래밍 언어 및 환경으로, 특히 통계학, 데이터 마이닝, 머신 러닝 등과 관련된 작업에 많이 사용된다.
- 데이터 사이언스 분야에서 자주 쓰이고 데이터 분석에 특화된 언어이다. 또한 오픈소스 이기 때문에 쉽게 배울 수 있다.
- 오픈소스
- 데이터 시각화
- 통계 분석 및 모델링
- 데이터 조작 및 전처리
2. R 설치
https://www.r-project.org/about.html
https://cran.yu.ac.kr/
Download
3. RStudio 설치
https://posit.co/download/rstudio-desktop/
4. 숫자
- 정수(Integer), 실수(Double)
- 매우 큰 수와 작은 수는 'E' 또는 'e'를 활용하여 표기
- Inf는 무한대, NaN(Not a Number, 숫자가 아님)를 뜻함
5. 문자
- 작은 따옴표 또는 큰 따옴표를 문자의 시작과 끝을 나타냄
6. 논리값
- 참/거짓을 표현하기 위해 TRUE/FALSE를 사용
- 대소문자 명확히 구분
- 값이 비어있는 결측값 표기시에는 NA 또는 NULL로 사용
7. 연산자
7-1. 할당연산자
-
특정 객체(Object)에 값을 할당하기 위한 연산자
-
"="와 "<-"는 용법의 차이가 거의 없음
-
화살표 모양의 연산자를 사용하는 경우 화살표의 머리에 따라 할당하는 방향이 다름
-
'<<-' 와 '->>' 는 전역변수 할당시 사용 가능
x = 1 # x에 1을 대입
x <- 1 # x에 1을 대입
1 -> x # x에 1을 대입
x <<- 1 # x에 1을 대입
1 ->> x # x에 1을 대입
7-2. 산술 연산자
7-3. 비교 연산자
-
두 자룔르 서로 비교하는 참 또는 거짓 결과를 반환
-
결과는 TRUE, FALSE
-
비교 연산자는 기본적으로 1:1 또는 1:n의 비교가 원칙이나,
'%in%' 연산자의 경우는 n:n의 비교 가능
== 같다
!= 같지 않다
< 미만
> 초과
<= 이상
>= 이하
& 논리(AND)
| 논리(OR)
! 논리 부정
%in% 일치 여부 검사(match)
8. 함수
8-1. 기본 함수
- R을 구동한 이후 별도의 조치 없이 사용
- base, statuts, Utils등 기본 패키지의 함수
8-2. 패키지 함수
- 특정 패키지를 설치 후 불러와야 사용할 수 있는 함수
8-3. 사용자 정의 함수
- 기본 함수, 패키지 함수 등 다양한 요소를 조합해서 사용자가 직접 만든 함수
9. 도움말
- help() : 특정 함수의 설명을 조회하기 위해 사용하는 함수
- help.search() : 특정 단어가 들어간 도움말을 조회할 때 사용하는 함수
- ? : help() 함수 대응
- ?? : help.search() 함수 대응
10. 패키지
- R의 사용자 정의함수 또는 별도의 데이터를 묶어놓은 것으로 라이브러리(lib)
라고도 한다.
- 기본 패키지, 공식 패키지, 비공식 패키지
- 기본 패키지 : R 설치시 기본 제공되는 패키지이며 일부는 R 구동시 자동으로 불러옴
- 공식 패키지 : 각종 OS에서 동작을 보장하며 RCran 사이트에서 다운로드 가능하다
- 비공식 패키지 : 비공식 패키지는 RCran에서 다운로드 불가능하고, 별도의 웹페이지
접속 또는 패키지 사용 필요
- 패키지의 함수 또는 데이터를 사용하기 위해서는 libaray() 함수를 사용해서 불러오는
것이 일반적
10-1. 패키지 설치하기
- install.packages() 함수를 사용하여 공식 패키지 다운로드
- 압축파일을 바로 설치하는 경우 install.packges() 함수에서 type='source'설정 필요
- 비공식 패키지 다운로드시 devtools 또는 remotes패키지 주로 사용
- 패키지 제거는 remove.packges() 함수로 가능
10-2. 패키지 불러오기
- library() 함수를 사용하여 불러오며 패키지명은 따옴표로 감싸서 명시할 수 있다.
- 패키지가 없다는 에러가 발생할 경우 패키지명을 제대로 입력하지 않았거나, 패키지가 설치되지않은 경우
- "::" 기호를 패키지명 뒤에 적게 되면 해당 패키지의 함수 또는 데이터 목록 확인이 수월하며 library() 함수 없이 사용이 가능하다.
11. 객체
- 보통 데이터를 담아두는 용기에 비유
- 데이터 속성과 구조에 따라 사용할 수 있는 함수가 다름
- 대표적으로 1차원 벡터, 메트릭스 , 데이터 프레임, 리스트
- 비어있는 객체 생성 가능
11-1. 관련함수
- ls() : 등록된 객체 목록을 출력
- object.size() : 특정 객체의 용량 확인 가능
- format() : object.size()함수의 출력물을 utlils 인자를 활용하여 KB, MB등 각 자료 단위로 표기 가능
- rm() : 등록된 객체를 제거하고자 할때 사용
12. 벡터
12-1. 1차원 벡터
- 숫자/문자/논리값 등을 원소로 하는 1차원 객체
- 지정한 순서대로 값이 위치하며 두 개 이상의 서로 다른 속성이 할당되는 경우 하나로 통일
- 문자는 숫자보다 우선시 되며, 문자와 숫자를 할당할 경우 숫자도 문자로 자동 변환
- c() 함수로 생성하며 이는 각 원소를 결합
- 1차원 벡터는 각 원소에 이름 지정 가능하다.
- 'letters'와 'LETTERS'는 사전에 등록되어 있으나 내부 원소 치환 가능
13.