목록Data Analysis/R Basic (11)
천선생의 삶
안녕하세요. 천선생입니다. 데이터 핸들링(Data Handling) 라는 말, 많이 들어보셨나요? 분석을 하기 위해서는, 주어진 데이터를 올바르게 조작하는 방법을 알아야 합니다! 우리는 이것을 데이터 핸들링이라고 부릅니다. 오늘은 데이터 핸들링에서 제가 가장 많이 사용하는 dplyr 패키지를 소개시켜드리겠습니다. - Why dplyr? 앞에서 간단히 설명드렸듯이, 데이터 핸들링이란 말그대로 데이터를 이리저리 손으로 굴려보는 것을 뜻합니다. 범주별로 묶어서 연산을 한다던지, 변수끼리의 연산으로 새로운 변수를 만들어본다던지 하는 듯의 행위 말이죠. 물론, 기존에 알고계신 함수나 패키지를 활용하여 핸들링을 해도 됩니다! 그러나 전처리를 위한 패키지 dplyr을 활용하면 조금 더 쉽게 접근할 수 있을 것입니다...
안녕하세요. 천선생입니다. 데이터 분석을 공부할수록, 많이 접하게 되는 단어가 있습니다. 바로 시각화 인데요. 오늘은 R을 통해서 시각화를 할 때, 가장 많이 사용되는 패키지인 ggplot2에 대해서 알아보겠습니다. - 시각화? 시각화란 단순하게 말하면 데이터를 한눈에 이해할 수 있는 그림을 그리는 것을 뜻합니다. R에서는 기본적으로 Gragraphics 라는 패키지를 제공하며, 이 패키지를 통하여 이미 수많은 시각화를 할 수 있습니다. Gragraphics 에 내장된 함수를 통하여, cars 데이터(내장 데이터)의 시각화를 해보겠습니다. # cars 데이터의 구조를 확인해보겠습니다. str(cars) # 'data.frame':50 obs. of 2 variables: # $ speed: num 4 4..
안녕하세요. 천선생입니다. 데이터를 다루면서 여러 연산을 하게되는데요. 이때, 반복구문을 활용해서 연산을 해도 되지만 하나씩 접근하여 연산하기 때문에 복잡한 연산이나 큰 데이터에서는 오랜 시간 연산하게됩니다. 이번 포스트에서는 벡터기반 연산을 지원하는 apply계열 함수 에대해서 알아보도록 하겠습니다. - APPLY? apply는 배열 또는 행렬을 입력받으며 주로 2차원 데이터를 연산할 때 많이 사용되는 함수입니다. 기본 형태는 다음과 같습니다. # apply의 기본 형태 apply(array, margin, ... ) 행 / 열 값을 margin 인자에 지정해주면, 그것을 기준으로 연산을 진행하게 됩니다! 간단한 예를 통하여 apply가 작동하는 방식을 보여드리겠습니다. # apply를 활용한 연산의 ..
안녕하세요. 천선생입니다. 지난 포스트까지 반복문과 조건문에 대해 알아봤는데요. 포스트를 보시면서, '너무 대충하고 넘어가는 것 아닌가?' 라고 생각하실 수도 있는데요!! 개인적으로 조건문과 반복문의 진가는 사용자 정의 함수에서 발휘된다고 생각합니다. 따라서 이 포스트에서 사용자 정의 함수의 활용범위를 확인하시고 사용법에 맞게 조정하는 법을 연습하시면, 조건문과 반복문은 따로 시간을 들여 노력하지 않아도 쉽게 사용하실겁니다. 그럼 이제부터, 사용자 정의 함수에 대해서 알아보도록 하겠습니다! - FUNCTION? function이란, 영어 뜻 그대로 사용자 정의 함수를 정의하는 함수입니다. 기본 형태는 다음과 같습니다. # function의 기본형태 function (입력변수명1 = default값, 입력..
안녕하세요. 천선생입니다. 이번 포스트에서는 지난 포스트에서 잠깐 말씀드렸던, 반복문에 대해서 알아보도록 하겠습니다. 반복문에는 크게 for 문과 while 문 으로 나뉘는데요, 차이점을 알아보자면 for 문은 입력된 벡터의 길이만큼 반복하는 반면, while 문은 조건에 따라 반복하게 됩니다. 이로 인해 while 문은 반복횟수를 정확히 모를 때 사용하면 편리합니다. - FOR? for문은 기본적으로 벡터를 주고, 벡터의 첫번째 값부터 마지막 값까지, 순서대로 실행하는 구문입니다. 기본 형태는 다음과 같습니다. # for 구문의 기본형태 for (x in 벡터) { x(원소)를 활용한 실행 구문 } 개인적으로 반복문은 코딩을 통해서 이해하는 것이 가장 빠르고 편하다고 생각하므로, 예제코드를 풀어보겠습니..
안녕하세요. 천선생입니다. 지난 포스트까지는 데이터 유형에 대해 정리해봤습니다. 이번 포스트와 다음 포스트에서는 처음 프로그래밍을 접하셨을 때 가장 어려워하시는 조건문과 반복문에 대해 알아보도록 할건데요, 특히 이번 포스트에서는 조건문에 대해서 알아보도록 하겠습니다. - IF? 조건문이란 말그대로 지정한 조건에 해당할 때, 코드를 수행하는 구문을 의미합니다. 이를 활용하여 원하는 데이터를 출력 또는 연산할 수 있으며, 조건문 안에 들어가는 값은 논리값으로 입력합니다. - 논리값이란? TRUE / FALSE 를 의미합니다. 즉, 조건문 안에 들어가는 식은 논리연산자 형식이 올바르다고 할 수 있습니다. # if문 예제 if ( 조건문 : 반환값은 T / F ) { 조건을 만족할 때 수행할 코드 } - ELS..
안녕하세요. 천선생입니다. 이번 포스트에서는 데이터의 꽃, 데이터프레임 (dataframe)에 대해 알아보도록 하겠습니다. 이전가지의 포스트에서 다룬 데이터 유형들 역시 분석을 함에 있어서 반드시 필요한 요소이지만, 실제 우리가 '데이터' 를 받아보았을 때엔, 대부분 dataframe 의 형태로 받아오게 됩니다. 그렇다면, dataframe 이란 무엇일지 이제부터 알아보도록 하겠습니다! - DATAFRAME? 간단하게 생각해 보았을 때, dataframe은 matrix의 형태를 유지하지만, list의 접근성을 갖습니다. 지난 포스트에서 list를 서랍장에 비유했던 것 기억나시나요? 이처럼 각 column (즉, 변수)로의 접근이 가능하게 됩니다. 이렇게 보면 와닿지 않을 수 있으니, 코드와 함께 설명해드..
안녕하세요. 천선생입니다. 지난 포스트까지 vector, matrix, array 에 대해서 알아봤는데요, 이 3가지 데이터 유형은 모두 배열을 기반으로 한 데이터 유형입니다. 따라서 다양한 데이터 유형을 저장할 수 없다는 점에서 큰 단점을 갖기도 합니다. 따라서 이번에는 이러한 단점을 극복하기 위해 필요한 list 에 대하여 알아보도록 하겠습니다. - LIST? 이전의 데이터 유형은 차원에 따른 모양을 가지며, 동일 데이터 타입만을 가질 수 있었습니다. 그러나 list의 경우, 데이터 타입과 데이터의 모양에 무관하게 저장이 가능합니다. 즉, 기존과는 다르게 '여러 데이터를 담아낸다.' 라고 받아들이시면 이해가 빠르실 것 같습니다. 각 서랍은 KEY라고 불리우는 인자로 이름붙여지며, 이는 Python의 ..