안녕하세요 오랜만에 돌아왔습니다~
SQL에 이어
데이터 분석, 머신러닝을 위한 R에 대해 포스팅하겠습니다~
우선 R에 대해 알아야겠죠?
그림 출처: https://vimeo.com/basicagency
가장 먼저
R로 데이터를 로드하고 패키지를 사용하는 방법에 대해 알아보겠습니다.
Tip 1. csv파일을 R에서 로드하는 방법
read.csv( "파일위치", header = T) |
Tip 2. 변수에 넣기
변수이름 <- read.csv( "파일위치", header = T) |
Tip 3. 패키지 설치하는 방법
install.packages("패키지이름") |
Tip 4. 라이브러리 사용하는 방법
library("라이브러리이름") |
이제 기본적인 R의 자료구조와 연산자 그리고 함수에 대해 알아보겠습니다!
1. R의 자료구조
Vector: 같은 데이터 타입을 갖는 1차원 배열구조 Matrix: 같은 데이터 타입을 갖는 2차원 배열구조 Array: 같은 데이터 타입을 갖는 다차원 배열구조 Data Frame: 각각의 데이터 타입을 갖는 컬럼으로 이루어진 2차연 배열구조 (데이터베이스의 table과 유사함) List: 서로 다른 데이터 구조의 데이터 타입(vector, matrix, array, data frame)이 중첩된 구조 |
2. R의 연산자
산술 연산자: + , - , / , * , ^, %% 등.. 비교 연산자: > , < , >= , <= , == , != 논리 연산자: & , && (and) , | , || (or) , ! (not) |
* 참고1: R에서 같음을 비교하는 연산자는 == 이다.
= (equal) 을 두개 사용해야한다.
* 참고2: &과 &&, | 과 || 의 차이
& 과 | 는 벡터화된 연산에 사용된다.
&& 과 || 는 벡터화 되지 않은 연산에서 사용한다.
3. R 의 기본 함수
문자함수: toupper, tolower, substr, gsub, paste , ... 숫자함수: round, tunc, .. 날짜함수: Sys.Date(), defftime, ... 변환함수: as.character, integer, as.Date, as.factor, format, ... 일반함수: is.na, ifelse, ... 그룹함수: max, min, sum, length, table, ... |
이 중 format, ifelse, length 함수에 대해 더 자세히 알아볼까요?
1. format 함수
format(as.Date('2018/05/15'), '%A') 결과: "화요일" |
* 참고: as.Date는 날짜로 변환시켜주는 변환 함수
format 함수에서 '%A'자리에 쓸 수 있는 것과 의미
'%A' : 요일을 출력 / '%Y' or '%y' : 연도 / '%m' : 달 / '%d' : 일 / '%H' : 시간 / '%M' : 분 / '%S': 초
2. ifelse 함수
ifelse( 등급 == 1 , 'A' , 'B' ) |
ifelse ( 조건 , 조건 True , 조건 False)
* 참고: ifelse는 중첩하여 사용할 수 있다.
3. length 함수
x <- c( 1, 2, 3) length(x) 결과: 3 |
벡터이든 행렬이든 전체 원소의 갯수를 출력
추가적으로!
만약 원하는 함수가 패키지에도 존재하지 않을 때!
혹은
나만의 함수를 만들고 싶을 때!
함수를 생성하는 방법에 대해 알아보도록 하겠습니다.
함수이름 <- function(parameter, ...) { (if / for .. 등 연산) } |
*참고: R에서 사용자 정의 함수에서 return문은 필수가 아니다.
예제: 앞으로 다가올 요일의 날짜를 출력하는 함수
오늘은 여기까지~
다음은 시각화로 찾아오겠습니다!
'R로 머신러닝하기' 카테고리의 다른 글
R로 머신러닝 지도학습하기 | 결정트리 (Decision Tree) (2) | 2018.06.11 |
---|---|
R로 머신러닝 지도학습하기 | 나이브베이즈(Naive Bayes) 분류 (0) | 2018.06.08 |
R로 머신러닝 지도학습하기 | KNN(k Nearest Neighbors) 분류 (4) | 2018.06.02 |
R로 머신러닝하기 | 머신러닝(Machine Learning) 이란? (0) | 2018.05.23 |
R 시각화 | 데이터에 맞는 그래프 선택하는 방법! (0) | 2018.05.18 |