R은 데이터분석을 위해서 태어난 언어이다보니 다양한 통계 함수들이 별도의 라이브러리를 호출하지 않아도 기본적으로 내장이 되어 있다. 통계 함수가 잘 돌아가는지 쉽게 이해하기 위해서, 아이리스같은 분석용 데이터셋을 사용하지 않고 별도의 데이터셋을 생성하여 진행해보고자 한다. 실험 데이터 > korean sum(korean) [1] 1530 모든 벡터를 더한다. 평균(mean) > mean(korean) [1] 153 모든 벡터를 더한 수 벡터 수로 나눈 값이다. 중앙값, 중위수(median) > median(korean) [1] 67.5 중앙값과 평균의 차이를 설명하기 위해서 1000이라는 값을 넣어봤는데 중앙값은 평균이 아니라 값을 정렬했을 때 중앙에 위치하는 값이 어딘지를 뜻한다. > sort(kore..
데이터 정렬을 위해 아이리스(Iris) 데이터를 이용하여 정렬을 해보고자 한다. 아이리스는 이제는 매우 잘 알겠지만 > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 이와같이 꽃받침(Sepal)과 꽃잎(Petal)의 넓이, 길이로 구성이 되어 있다. 정렬 실습을 위해서 "Sepal.Length" 즉, 꽃받침 길이만 가지고 정렬을 해보고자 한다. 오름차순하기 오름차순..
R의 버전을 업데이트하기 위해서 사이트에서 R을 다운로드하여 인스톨을 하는 등의 작업을 할 필요 없이 R 명령어를 몇개 입력하여 최신 버전으로 Install 할 수 있다. Step 1. install.packages("installr")> install.packages("installr") WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding: https://cran.rstudio.com/bin/windows/Rtools/ Installing package into ‘C:/U..
R에는 다양한 포맷의 파일들을 매우 쉽게 가져오는 기능을 제공하고 있다. 파일의 입출력 실습은 붓꽃(IRIS) 데이터를 기반으로 진행해보도록 한다. 아이리스 데이터1,5.1,3.5,1.4,0.2,Iris-setosa 2,4.9,3,1.4,0.2,Iris-setosa 3,4.7,3.2,1.3,0.2,Iris-setosa 4,4.6,3.1,1.5,0.2,Iris-setosa 5,5,3.6,1.4,0.2,Iris-setosa 6,5.4,3.9,1.7,0.4,Iris-setosa 7,4.6,3.4,1.4,0.3,Iris-setosa 8,5,3.4,1.5,0.2,Iris-setosa 9,4.4,2.9,1.4,0.2,Iris-setosa 10,4.9,3.1,1.5,0.1,Iris-setosa 11,5.4,3.7,1..
IRIS 데이터 인공지능을 하는 사람이면 가장 자주 보는 범용적인 데이터 셋의 2개가 있는데 하나는 손글씨 이미지 집합들인 MNIST이고, 분류 문제를 하는 간단하고 쉬운 데이터 집합으로 IRIS가 존재한다. IRIS하면 아무래도 드라마를 생각하거나 인간의 홍채를 생각할 수 있는데 인공지능에서 사용하는 이 데이터셋은 특정 꽃을 뜻한다. 이 꽃이 아이리스(한글명 붓꽃)이다 IRIS 데이터는 데이터프레임으로 구성되어 있으며 매우 심플하고, 사이즈가 작기 때문에 알고리즘을 이해하기가 상당히 쉽다. 다만 데이터가 작기 때문에 딥러닝과 같이 데이터 많을수록 유리한 알고리즘에서는 검증하기가 애매한 면이 있긴 하다. IRIS 데이터셋 구조 R에서는 IRIS 데이터가 내장이 되어 있어서 별도로 호출을 할 필요가 없다...
매트릭스와의 차이점 데이터 프레임에 배우기에 앞서 같은 2차원 데이터 주고인 매트릭스와의 차이점을 다시 한번 상기해보도록 하겠다. 매트릭스동일한 데이터 구조만 허용 데이터 프레임다양한 데이터 구조의 허용 데이터 프레임은 쉽게 엑셀을 머리속에서 떠올리면 된다. 엑셀에서 우리가 열에 저마다 다른 타입의 데이터를 넣을 수 있다. 번호이름 키 몸무게 1 홍길동 180 70 2 고길동 170 70 3 둘리 150 60 4 또치 150 50 위와 같은 숫자, 문자형 등이 섞여 있는 2차원 데이터 구조가 데이터 프레임이며, 매트릭스는 숫자 혹은 문자형 등의 한가지 타입으로만 통일되어 있는 차이가 있다. 데이터 프레임 생성 위의 테이블 예제를 토대로 데이터 프레임을 생성해보도록 하자 > numbers numbers[1..
2차원 데이터 앞서, 벡터(Vector)에 관련된 포스팅을 길게 썼는데 벡터는 1차원 데이터 구조이다. 벡터를 사용하는 경우도 많이 존재하지만, 사실상 벡터보다는 2차원 데이터를 더 많이 사용하게 된다. 우리가 흔히 사용하는 엑셀(Excel)만 하더라도 행만 사용하는 경우는 단순히 계산하기 위해서 데이터를 넣는 정도를 제외하면 없다고 봐도 무방할 정도이다. 이번편은 2차원 데이터의 가장 기본적인 매트릭스(Matrix) 명령어를 사용해보고, 다음 포스팅에는 본격적으로 가장 많이 사용하게 될 데이터 프레임(Data.Frame)에 대해서 포스팅 하고자 한다. Matrix와 Data.Frame의 차이 우선 본격적으로 매트릭스에 대한 설명에 앞서 매트릭스와 데이터프레임에 대한 차이를 설명한다면, Matrix를 데..
인트로 이전 시간에는 벡터(Vector)의 심화 사용 방법에 대해서 알아봤습니다. 오늘은 R이 왜 데이터 분석에 특화된 언어인지 보여줄 수 있는 벡터의 연산에 대해서 보여드리도록 하겠습니다. R와 파이썬은 바로 이 벡터라는 부분이 자바나 C, C++과 다르게 매우 쉽게 핸들링이 가능하기 때문에 머신러닝이나 데이터 분석 등에 매우 유용하게 쓰입니다. 물론 데이터를 최종적으로 이쁘게 출력해주는 비주얼 적인면도 있지만, 제일 좋은건 강력한 기능들을 쉽게 다루는 것이겠지요. 벡터 연산 R은 일반적인 언어와 다르게 벡터와 같은 데이터를 매우 쉽고 강력하게 다룰 수 있는 방법을 제공합니다. 아래는 쉽게 벡터들을 연산하는 방법들입니다. > a b d d ## [1] 10 11 12 13 14 15 16 17 18 1..
인트로 이전 시간에는 벡터를 사용하는 방법에 대해서 알아봤습니다. 사실 R은 다른 언어와 다르게 강력한 프로그래밍 기능이 있는 것이 아니고 대다수 R을 하는 이유는 데이터분석이기 때문에 초반에 배워야 되는 부분이 많지 않습니다. 게다가 워낙 다양한 패키지(라이브러리들...)이 제공되고 있어서, 데이터만 쏙 넣으면 그래프가 출력이 되고 알아서 머신러닝이 돌아가고 등등 다양한 강력한 기능들을 제공해주기 때문에 초반에 기초를 확실히 잡아두는 것이 좋습니다. Java처럼 객체지향을 공부해야 되는 것이 아니니, 초반에 약간 지루할 수 있어도 변수, 벡터, 리스트 등의 데이터 구조를 확실히 익히셔야 할 것입니다. 오늘은 벡터를 조금 더 다양하게 다루는 방법에 대한 포스팅입니다. 저번 강의보다는 조금 더 흥미로울 수..
인트로 이전 시간에 R의 기본 구조와 변수에 대한 설명을 하였습니다. 오늘은 R을 좀 더 복잡한 데이터 타입인 벡터에 대해서 이해를 해보로록 하겠습니다. 이전 강의R강의 #1 - 데이터 기본구조편R강의 #2 - 변수 이해하기편 벡터(Vector) 학창시절 수학 시간에 졸지만 않았다면 벡터(Vector)라는 것을 다들 들어보셨을 겁니다. 누구는 저 말을 보자마자 R을 끄고 싶을지 모르겠지만 최소한 컴퓨터에서는 수학시간보다는 재미있으니 조금만 참고 이 개념을 이해하셨으면 좋겠습니다. 일단 벡터는 같은 데이터의 타입의 배열 데이터를 의미합니다. 즉, 숫자들이라면 숫자의 모음... 문자형이라면 문자들의 배열형을 뜻합니다. 벡터 생성x
인트로 프로그램에 대한 기본 지식이 없는 분들도 이해할 수 있는 R언어 강의를 표방하며, 첫번째 강의 주제를 데이터 기본 구조로 잡아봤었습니다. 그러나 사실 변수가 무엇인지 상수가 무엇인지 정확히 개념을 모르는 분들은 이 부분부터 막힐 수 있다고 생각이 들어서 오늘은 좀 더 기본적인 변수에 대해서 알아보도록 하겠습니다. 변수의 사전적 의미 변수에서 사용되는 한자 변은 "변하다 변(變)" 입니다.즉, 값이 계속 바뀐다는 것이죠. 쉽게 생각하면, 어떤 값이 계속 바뀔 수 있다면 변수로 지정을 하면 됩니다. 어떤 사람의 키라든지, 성적, 월급 이 세상의 거의 대부분의 값은 계속 변하기 때문에 사실 변수가 아닌 것을 찾기가 힘이 들지 모르겠네요. 변수의 반대말은 상수인데, 파이(3.14), 광복절(8.15) 이..
그냥 인트로 이 강의는 R언어를 처음 접해보거나, 아직 R에 대해서 익숙치 않는 사람들을 위한 강의입니다. 프로그래밍에 숙달하지 않는 분들을 타겟으로 포스팅을 할 예정이라, 긴 설명이 들어갈 수 있으니 프로그래밍이 어느정도 숙달 되신 분들은 주저리 주저리 단 긴말들은 읽지 마시고, 빠르게 넘어가주세요 :) 강의 주제로 R을 잡은 이유는, 데이터 분석을 하는 사람이 R을 할 줄 모르면 솔직히 이건 아니지라는 생각도 들었고, 주변 비개발자 분들중에서 파이선이나 자바는 어렵더라도 R은 어느정도 이해하는 모습을 보고, 그래도 R이 타 언어보다 편하구나라는 것을 느껴서 데이터 분석의 강의를 R로 정했습니다. 현재, 텐서플로우, 블록체인도 포스팅하고 있으나, R도 매주 최소 하나씩은 작성해서 병행해보도록 하겠습니다..