KBO 팀간 승패 자료를 github.com 에 올렸습니다.

안녕하세요. 외대 철학과 스터디 그룹 LOPES의 추선식 입니다.

데이터 분석을 공부하면서 느낀 점은 학습에 맞게 구성된 데이터가 적고 이런 형태의 자료를 현실적으로 찾아보기 어렵다는 점입니다. 그래서 대중적으로도 인기가 있는 한국의 프로야구 자료로 데이터 분석을 공부해보기로 했습니다.

자료를 모으기 위해 KBO 홈페이지에 등록된 2010년도부터 2016년도까지의 야구 자료를 모으고 보기 좋게 정리하기 시작했습니다.

저희가 수집하고 가공한 자료는 약 7년 치의 한국 프로야구 데이터가 있습니다. 이 데이터는 점수와 홈 & 원정팀, 시즌정보 등을 구분하여 경기정보를 쉽게 확인해 볼 수 있습니다. 또한 7년치의 데이터로 다양한 기록들을 시각화해볼 수 있습니다. 아래 링크로 가시면 자료를 받으실 수 있습니다.

choosunsick/KBO_data

##응용사례

  1. 경기 결과열을 만들어 줍니다.
kbo_total$경기결과 <- ifelse(kbo_total$홈팀점수>kbo_total$원정팀점수,"홈승",ifelse(kbo_total$홈팀점수<kbo_total$원정팀점수,"원정승","무"))
  1. 정규시즌만 뽑아 줍니다.
normal_season <- subset(kbo_total,kbo_total$비고=="정규시즌")
doosan <- subset(normal_season,normal_season$홈팀=="두산"|normal_season$원정팀=="두산")
  1. 홈팀과 원정팀의 경기 수를 경기결과에 따라 분류합니다.
home <- aggregate(홈팀점수~홈팀+원정팀+경기결과,doosan,length)
doosan_home <- home[home$홈팀=="두산",]
away <- aggregate(원정팀점수~홈팀+원정팀+경기결과,doosan,length)
doosan_away <- away[away$원정팀=="두산",]
  1. 두산이 홈일 때와 원정일 때의 승리만 따로 뽑아줍니다.
doosan_home_win <- doosan_home[doosan_home$경기결과=="홈승",]
doosan_away_win <- doosan_away[doosan_away$경기결과=="원정승",]
  1. 두산의 열이 중복되므로 지워줍니다.
doosan_home_win <- doosan_home_win[,-1]
doosan_away_win <- doosan_away_win[,-2]
  1. 하나의 자료로 만들어 줍니다.
colnames(doosan_home_win) <- c("상대팀","경기결과","승리횟수")
colnames(doosan_away_win) <- c("상대팀","경기결과","승리횟수")
doosan_win <- rbind(doosan_home_win,doosan_away_win)
  1. 이제 두산의 상대전적(승리)그래프를 그려봅시다.
install.packages("ggplot2")
library(ggplot2)
p <- ggplot(doosan_win,aes(x=상대팀,y=승리횟수,fill= 경기결과))+
geom_bar(stat="identity",colour = "black")+
scale_x_discrete(limits=c("한화","KIA", "SK", "LG", "넥센", "삼성", "롯데", "NC","kt" ))+
theme(axis.text.x= element_text(angle=90, hjust=1))
p+labs(title="두산상대전적그래프")

ps. R에서 플롯을 그렸을 때 한글이 깨질 수 있습니다.

Leave a Reply