>RE::VISION CRM

R 데이터 분석

R을 사용한 데이터 처리 [왕초보용 연습 example]

YONG_X 2013. 1. 31. 16:51

빅데이터 분석이라고 일단 R을 배워야 한다고들 아는 사람들이 많은데,

일단 설치하고 돌려라도 봐야할테니...

[R]에 대해 제목만 들어봤을 뿐 전혀 접해보지 않은 사람들을 위한 아주 간단한 샘플.

R studio를 설치한 후 어떻게 돌아가는 것인지는 눈으로 한번 보는 용도로

많이 사용되는 간단한 데이터 처리와 그래프 그리는 것 까지의 예.

데이터 마이닝 까지 가는 것은 공부가 좀 더 필요하지만,

돌아가는 분위기라도 파악하도록 하기 위해서...

 

 

# r tutorial reference : http://www.statmethods.net/management/aggregate.html
# basic data handling including sorting, merging, aggregating, reshaping

# 위의 링크는 데이터 분석의 기초에 대한 부분을 튜터리얼로 잘 정리해놓은 사이트

 

# 샾 표시가 붙은 부분은 주석이고 아래 첨부된 파일은 연습용 예제에 사용하게될

# 2012년 시즌 KBO 한국프로야구 타자들의 통계기록

 

kbo_batterbox.txt


# ========= kbo_batterbox data analysis =========

 

# R studio가 설치되어 있다고 보고 커맨드라인에서 한줄씩 실행해 보기로 하고

# reading data from local folder _ 데이터 부터 읽어 들이고 (로컬에 설정된 폴더에 다운해서 복사해두고)

k2 <- file("kbo_batterbox.txt", encoding="UTF-8")
k3 <- readLines(k2)
k3

 

# the data file is in csv format which has a header line

# 텍스트 파일을 그냥 읽으면 헤더를 인식하지 못하기 때문에
k3 <- read.table("kbo_batterbox.txt", header=TRUE, sep=",")

k3

 

# subsetting (keeping) some variables _ 처음이니 RBI 타점과 OPS 두가지만 팀별 평균과 중위수를 구함
# with no select option

k6 <- subset(k3, select=c(team, triple, rbi, OPS))

 

# eye-check the data _ 데이터 셋의 이름만 치면
k6

# group by team
k7 <- aggregate(k6, by=list(team), FUN=mean, na.rm=TRUE) 
k7

# counting number of rows of a data set
nrow(k6)

 

# getting a median value of a variable from the data set
median(k6$rbi)
mean(k6$OPS)

 

# grouping OPS using mean by a category variable team
# we dont need by parameter this time

k7 <- aggregate(OPS~team, FUN=mean, na.rm=TRUE) 
k7

 

# aggregating using median function _ 대개의 경우 평균을 통해 aggregation 하지만

# 여기서는 연습으로 median을 사용
k7 <- aggregate(OPS~team, FUN=median, na.rm=TRUE) 
k7

 

# creating another data set which is to be used in a merge example
# note that R is case sensitive
k8 <- aggregate(rbi~team, FUN=median, na.rm=TRUE) 
k8

 

 

 

# merging two data sets by a key team
k9 <- merge( k7, k8,by="team")

 

# now median of OPS and rbi from two data sets are in a table

# creating graphs

attach(k6)
nrow(k6)

 

# showing relationship between rbi and OPS
plot(rbi, OPS)

 

 

 

# OPS와 RBI는 매우 관계가 강한 듯. 한눈에 보기에도

# RBI(타점) 와 OPS(On base plus Slugging)는 인터넷에서 검색해 보시고~

 

# summarized distribution of OPS by team  팀별 OPS 분포를 한눈에
plot(team, OPS)


# 두개의 그래프 까지 나오면 일단 성공!

 

--- Last Update : 2013 . 1. 31

kbo_batterbox.txt
0.0MB