반응형

안녕하세요 오랜만에 돌아왔습니다~


SQL에 이어


데이터 분석, 머신러닝을 위한 R에 대해 포스팅하겠습니다~




우선 R에 대해 알아야겠죠?



BASIC그림 출처: 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문은 필수가 아니다.




예제: 앞으로 다가올 요일의 날짜를 출력하는 함수







오늘은 여기까지~


다음은 시각화로 찾아오겠습니다!



반응형

+ Recent posts