인공지능 개발자 양성 과정

[0419] 데이터 분석 실습 - 한국 프로야구 선수별 기록분석

AI gina 2022. 4. 19. 18:11

야구 선수들이 밥값 하나요?

'KBO(한국야구위원회)에서 제공하는

주요 선수별 자료를 분석하여 연봉 대비 각종 기록을 분석'

 

1. KBO 데이터 다운로드 및 기초 가공

  KBO 웹 사이트 : https://www.koreabaseball.com/

  • 선수 검색하기 창에서 선수들을 검색하여 각 선수별 2013년 연봉과 성적을 엑셀화. (최신데이터x)

 

#데이터 분석 준비하기

library(readxl)
data <- read.csv("./data/주요선수별성적-2013년.csv", header=T)
head(data,5)

#1.연봉대비 출루율 시각화
bp <- barplot(data$연봉대비출루율,
              main=paste("야구 선수별 연봉 대비 출루율 분석", "\n", "(밥값여부계산 ^^;;)"),
              col=rainbow(25),
              cex.names=0.7,las=2,
              names.arg=data$선수명, ylim=c(0,50)) #cex.names(x축 레이블 크기), names.arg(각 막대 이름)

#2. y축 레이블과 색상 지정
title(ylab="연봉대비출루율", col.lab="red") #ylab :y축 레이블, col.lab : 레이블 색상

#3. 연봉대비출루율 평균값 구하고, 선그리기

aver <- 0 #저장변수
for(i in 1:length(data$연봉대비출루율)){
  aver <- aver + data$연봉대비출루율[i]
}
aver <- aver/length(data$연봉대비출루율)
aver

#mean(data$연봉대비출루율)과 동일한 값이 나오며 for문 활용해봄. 

abline(h=aver, col="blue")

#4. 텍스트 추가
#평균선에 평균출루율 데이터 추가
text(x=aver-11, y=14.5, col="black", cex=0.8, labels=paste(aver,'%',"(평균출루율)"))

#5. 각 막대 그래프에 데이터 추가
text(x=bp*1.01, y=data$연봉대비출루율*1.05, col="black", cex=0.7,
     labels=paste(data$연봉대비출루율,'%'))