반응형

SW/R 52

R : 다중 상자 그림-boxplot (개념 및 예제)

다중 상자그림(Boxplot)다중 상자 그림은 예전에도 다른 개념을 포스팅하면서 소개한 적이 다중 상자그림(box plot)은 일변량 연속형 자료를 상자와 선, 그리고 점으로 표현한 그림입니다. 총 자료가 여러개의 자료 묶음으로 구성되어 있습니다. 묶음 간 비교에 있어 시각적 효과가 탁원한 장점이 있습니다. 아래 그림을 참조하세요. boxplot을 이용하기 위해 설치가 필요한 패키지는 없습니다. 따라서 R에서 바로 사용할 수 있습니다. 이번 실습 시간에는 2017년 서울의 각 하루의 평균 기온에 대한 데이터로 실습을 진행합니다. 예제 실습 ds

SW/R 2019.02.24

R : 버블차트-bubble chart (개념 및 예제)

버블 차트(bubble chart)예전부터 저의 포스팅을 보신 분이라면 산점도를 이해하고 계실 것입니다. 산점도는 두 가지의 변수간의 상관 관계를 나타냅니다. 버블 차트는 산점도의 한 종류입니다. 제3의 변수를 크기에 따라 버블로 표현하는 차트입니다. 아래 그림은 버블 차트의 한 종류입니다. 느낌이 오시나요? 버블차트를 이용하시려면 패키지를 설치하셔야 합니다. 패키지 명은 MASS입니다. 관련 패키지를 설치해주세요. 만약 패키지 설치하는 방법을 모르시는 분은 제가 이전에 포스팅한 패키지 설치 방법을 참조하시면 됩니다. 이번에 실습에 사용할 데이터셋은 UScrime입니다. 딱봐도 미국 범죄와 관련된 내용이겠죠? 인구수, 실업률, 범죄율 등의 데이터가 저장되어 있습니다. 실습 예제 library(MASS) ..

SW/R 2019.02.23

R : 나무지도-treemap (개념 및 예제)

데이터 시각화의 중요성숫자, 문자, 표로만 분석한 결과를 제공하면 어떨까요? 이해가 어려울 것입니다. 데이터만을 보고 의미를 이해하기 어렵기 때문입니다. 우리는 보통 시각을 통해 정보 습득하는 것에 능숙합니다. 분석한 결과와 데이터를 그래프로 표현하면 어떨까요? 아래 그림처럼 도구를 활용해 시각화하고 표현한다면 정보 전달이 용이해지고 이해가 빨라질 것입니다. 나무지도(treemap) 나무지도인 아래 그림을 참조하세요. 데이터가 갖는 계층 구조를 타일 모양을 표현한 것을 나무지도라고 합니다. 아래 보느바와 같이, 계층적 속성을 가집니다. 그리고 계층들은 컬러로 표현됩니다. 우선 나무지도를 사용하기 위해서는 패키지를 설치해야 합니다. 패키지 이름은 treemap입니다. 이전에 패키지 설치 방법을 포스팅 했으..

SW/R 2019.02.22

R : 함수 코드 보기, 파일 출력 (TIP)

함수의 source code 보기 함수의 동작원리가 궁금할 떄가 있습니다. 그런 경우에는 위처럼 함수 이름만 입력하면 확인할 수 있습니다. 하지만 내용을 볼 수 없는 함수도 종종 있습니다. 기본적인 함수들은 대부분 source code를 확인할 수 있습니다. 이것을 기반으로 좋은 데이터 분석을 할 수 있습니다. 실행내용 파일로 출력 sink("test.txt", append=T) # 출력할 파일 openfor (i in 1:100) { print(i) # 지정한 파일로 출력}sink() # 출력할 파일 close 위 코드는 text.txt 파일에 숫자를 출력하는 예제입니다. 실행하면 1부터 50까지의 숫자가 출력되어 저장되는 것을 확인할 수 있습니다. append가 T인 경우, 지정한 파일에 이미 어떤 ..

SW/R 2019.02.21

R : apply() 함수 (개념 및 예제)

apply 함수R 프로그래밍할 때 for 나 while을 사용하는 것을 지양해야 합니다. 그 이유는 데이터가 많고 연산이 많은 경우 처리속도가 많이 저하게 되기 때문입니다. 대신 apply 계열 함수를 이용해 반복문을 작성할 수 있습니다. matrix, data frame, list 등을 활용한 반복문은 apply 함수로 대체 가능합니다. apply()apply() 함수는 matrix, data frame 에서 행단위, 열단위의 작업을 쉽게 할 수 있습니다. 사용자 정의 함수도 적용할 수 있습니다. for (i in 1:4) { mean(iris[,i]) } apply(iris[,1:4], 1, mean) # row 방향으로 함수적용# [1] 2.550 2.375 2.350 2.350 2.550 2.85..

SW/R 2019.02.19

R : 반복문 for (개념 및 예제)

반복문 for for : 예제1 for(i in 1:10) { print(i) }# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10 for 반복문의 원리가 느껴지시나요? i가 1부터 10까지 할당되서 print문이 10번 실행됩니다. for : 예제2 for(i in 1:10) { cat("2*",i,"=",2*i,"\n") }# 2* 1 = 2 # 2* 2 = 4 # 2* 3 = 6 # 2* 4 = 8 # 2* 5 = 10 # 2* 6 = 12 # 2* 7 = 14 # 2* 8 = 16 # 2* 9 = 18 # 2* 10 = 20 for문을 이해하셨다면 위처럼 응용해서 원하는 다양한 값도 도출할 수 있습니다. for : 예제3 for(i in 1:20) { if(i%%2==0) { # 짝수인지 확..

SW/R 2019.02.17

R : if문 (개념 및 예제)

R 프로그래밍 R은 데이터 분석 도구입니다. 그러나 동시에 프로그래밍 언어의 성격도 포함하고 있습니다. R프로그래밍 기본 문법을 알고 활용할 수 있어야 합니다. 그래야 다른 사람의 분석 코드도 이해할 수 있습니다. 그렇다면 프로그래밍은 무엇일까요? 주어진 문제를 컴퓨터가 해결할 수 있도록 절차를 문법에 맞추어 써내려가는 과정을 뜻합니다. R에서 제공하는 함수만으로는 분석의 한계가 있습니다. 그 경우 프로그래밍을 활용하여 문제를 해결할 수 있습니다. if 문 if (logical expression) { statements}else { alternative statements} 먼저 if문에 대해 배워보겠습니다. 위에 서술된 구문은 if문의 기본 형태입니다. 만약 logical expression이 참일 ..

SW/R 2019.02.16

R : 데이터 분석 사례 (개념 및 예제)

데이터셋 일반 정보 str(iris) # 데이터셋의 전체 정보 확인# 'data.frame': 150 obs. of 5 variables:# $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...# $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...# $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...# $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...# $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 ..

SW/R 2019.02.15

R : 선그래프 (개념 및 예제)

선그래프연도별 증감 추이와 같은 데이터를 표현할 때 많이 활용합니다. 시간 순서에 따른 데이터를 시각화할 때 자주 사용됩니다. 예를 들어 월별 지각생 통계가 있습니다. 위 통계를 활용해 월병 지각생 통계의 선 그래프를 그려봅시다. month = 1:12 # 월 데이터 입력late = c(5,8,7,9,4,6,12,13,8,6,6,4) # 각 월마다 지각생 수plot(month, # x 데이터 입력하기 late, # y 데이터 입력하기 main="Late students", # 메인 이름 type= "l", # 그래프의 종류 정하기 lty=1, # 선의 종류 정하기 lwd=1, # 선의 굵기 정하기 xlab="Month ", # x축 이름 정하기 ylab="Late cnt" # y축 이름 정하기) http..

SW/R 2019.02.14

R : 산점도 (개념 및 예제)

다변량 자료다변량 자료는 키와 몸무게의 관계와 같이 두개 이상의 변수를 동시에 다루어야 하는 자료를 뜻합니다. 두개인 경우에는 특히 이변량 자료라고 칭합니다. 일변량 자료는 vectcor에 저장하면 되지만, 다변량 자료는 matrix 또는 data frame에 저장하여 분석합니다. 키와 몸무게의 관계를 분석할 떄 키, 몸무게는 변수가 됩니다. 각 변수는 데이터셋에서 열로 표현됩니다. 이변량 자료의 분포 및 상관관계 시각화mtcars 데이터셋에서 자동차 중량(wt) 와 연비(mpg) 의 상관관계를 산점도를 통해 확인해보겠습니다. wt

SW/R 2019.02.12

R : 문자열 함수 (개념 및 예제)

paste() 함수 paste("Good", "Morning", "Tom", sep=" ")# "Good Morning Tom" paste("Good", "Morning", "Tom", sep="/")# "Good/Morning/Tom" paste(1:10, "is good", sep=" ")# "1 is good" "2 is good" "3 is good" "4 is good" # "5 is good" "6 is good" "7 is good" "8 is good" # "9 is good" "10 is good" paste() 함수는 여러 문자열을 연결하여 하나로 만들어줍니다. sep은 연결하는 단어 사이에 넣을 값을 뜻합니다. 다양한 방식으로 문자열을 핸들링이 가능합니다. 예제를 통해 확인하세요. s..

SW/R 2019.02.11

R : 일변량 양적 자료의 분석 (개념 및 예제)

양적자료질적 자료에 비해 양적자료는 분석 방법이 많습니다. 대표적인 분석방법은 아래내용과 같습니다. - 평균/중앙값- 4분위수- 분산, 표준편차- Boxplot- Histogram- 나무-잎 그림 나라에서 국민들의 소득자료를 가지고 있습니다. 이 자료를 분석해서 설명할수 있는 값은 아래와 같이 여러가지가 있습니다. 평균(mean)평균은 균형점, 무게중심을 의미합니다. 중앙값(median)어떤 주어진 값들을 정렬합니다. 그 때, 가장 중앙에 위치하는 값을 의미합니다. 절사평균(trimmed mean)표본중에서 작은값 n% 와 큰값 n%를 제외합니다. 그리고 나머지 (100-2n)% 의 자료만 사용하여 구한 평균을 의미합니다. 왜 이렇게 3가지 값으로 나누어서 표현할까요? 즉, 위 그림처럼 상위권이나 하위권..

SW/R 2019.02.10

R : 기초 통계 개념

기초통계 개념통계 기법은 무엇일까요? 자료를 정리하는 수단입니다. 또 분석할 수 있는 강력한 수단입니다. 데이터 분석에서 많은 부분이 통계적 기법을 필요로 합니다. 다음의 예를 참고하세요. - 여론조사 결과 분석입- 제조업 불량율 분석- 학습 효과 분석 위 예시 말고도 많은 예가 있겠죠? 따라서 데이터 분석가 되기 위해서 통계학을 이해해야 합니다. 질적 자료(qualitative data) 또는 범주형 자료(categorical data)질적 자료는 무엇일까요? 숫자로 표현할 수 없는 자료를 의미합니다. 원칙적으로 말이죠. 예를 들면 학력 수준, 성별이 있습니다. 양적 자료(quantitative data)양적 자료는 자료 자체가 숫자로 표현된 것을 의미합니다. 크게 두가지로, 이산자료, 연속자료로 나누..

SW/R 2019.02.08

R : 패키지(Package) 설치 방법

Package 설치이번 포스팅에서는 R Package 설치에 대해 알아보겠습니다. R을 배워 나가는 것은 무엇일까요? 결국 제공하는 유용한 함수들을 공부하고 사용법을 배우는 것입니다. R에는 수많은 함수들이 있습니다. 비슷한 기능을 하는 많은 함수들끼리 묶여서 패키지 형태로 제공됩니다. 자주 사용하는 기본적인 함수들은 base 패키지에 있습니다. R을 설치할 때 기본적으로 설치가 됩니다. 따라서 별도로 패키지를 불러오는 작업이 필요 없습니다. 기본 패키지에 없는 함수를 사용할때는 어떻게 할까요? 우선 그 함수가 포함된 package를 install 합니다. 그 다음 package를 불러옵니다. library, require 함수를 이용해서 불러옵니다. 그 후 원하는 함수를 사용하면 됩니다. 다운로드된 패..

SW/R 2019.02.07

R : list와 factor (개념 및 예제)

List 우리가 데이터를 저장할 때 vector, 또 matrix, data frame을 썼습니다. 그것 말고도 많이 쓰이는 것 중에 list와 factor라고 하는 type이 있습니다. list는 일차적으로는 vector하고 비슷합니다. vector는 들어가는 원소들의 데이터 type이 다 똑같아야 하는 것입니다. 똑같아야 저장이 되는데, 이 리스트는 아무거나 들어갑니다. 숫자 들어갔다가 문자 들어갔다가 심지어는 vector도 들어갔다가, 또 다른 matrix로 저장하고, 그냥 뭐 이상한 보따리 같은 형태로 되어있습니다. 구분해서 짝짝짝 들어갈 수 있는 섞어서 넣을 수 있는 형태가 list입니다. 그래서 이 예를 보면 list에 name은 kim 이렇게 되어있습니다. 이 name은 이렇게 준 이 nam..

SW/R 2019.02.06

R : 매트릭스(matrix), 데이터 프레임(data frame) 사용법 및 예제

데이터프레임에 대해서 여러가지 정보를 얻어오는 다양한 함수들이 있습니다. 우선 어떤 데이터 프레임이 있습니다. 파일에서 읽어왔습니다. 굉장히 데이터가 많이 들어있습니다. 그러면 이것이 행이 몇 행이 있고 열이 몇 열이 있을까요? 그래서 dim으로 2차원 matrix의 행의 수와 열의 수를 알아내는 함수입니다. 그렇게 실행하면 아래 보이는 것처럼 150, 5 이렇게 나오는데 이게 한 이렇게 나오는데 이것이 행과 열의 수가 됩니다. 그다음에 nrow는 number of row의 약자입니다. 그래서 행의 개수를 가져오게 됩니다. 그다음에 ncol는 number of column 그래서 column의 수를 가져옵니다. 그 다음에 namesiris 그러면 이것은 column의 이름입니다. 나중에 보면 colnam..

SW/R 2019.02.04
반응형