>RE::VISION CRM

R 데이터 분석

[R 분석 연습] xyplot을 사용한 플롯 그리기 예제

YONG_X 2013. 3. 22. 02:36

 

 

xyplot() 을 사용한 플롯 그리기 연습

 

 

# xyplot 함수를 가지고 있는 lattice package를 활용. 없다면 install.packages("lattice")  먼저 실행
require(lattice)

# 이전의 KBO 데이터 셋을 사용. 참고 글의 스크립트 먼저 실행

# KBO 데이터셋에 대한 설명 내용이 있는 글  ==>  http://blog.daum.net/revisioncrm/171 )

 

attach(k2)

 

# 타수를 구별해서 표시하기 위해 미리 데이터를 타수 atbat 기준으로 내림차 정렬 실시
k3<-k2[order(-atbat),]

 

attach(k3)

# 출루율과 장타율을 팀별로 표시하는 그래프 생성

xyplot(robase ~ rlong | team, data=k3)

 

# 플롯의 점들은 투명하게 나타남

# 분석결과의 해석 : 상위 50명 가량의 타자들로 구성된 데이터 셋이므로 점이 많다는 것은

# 많은 타자가 비교적 좋은 성적을 보이는 팀이라는 것을 나타냄

# 두산 기아 롯데 에 장타율이 높은 타자가 비교적 적은 편임을 확인

# 단, 출루율과 장타율 모두가 비율이므로 타수가 적어서 나타난 경우 기여도 낮을 것임

# 이 문제를 해결하기 위해 추가적인 차원을 색상을 사용해서 플롯에 포함

 

# 타수가 많은 선수는 (점) 는 붉은 색으로 타수가 적은 선수는 푸른 색으로 표시

# 먼저 데이터 프레임에 컬러 값을 가진 필드를 생성

 

k3$color[atbat > 190] <- "red"
k3$color[atbat > 160 & atbat <=190] <- "green"
k3$color[atbat <= 160] <- "blue"

 

# 타수가 표시되도록 플롯을 생성 

# pch is the option for dots - pch=19 이면 색상을 가진 둥근 점으로 표시
# 색상은 앞서 추가한 color 필드로 부터 가져오도록 지정

 

xyplot(robase ~ rlong | team, data=k3, pch=19 ,
fill.color = as.character(k3$color),
panel = function(x,y, fill.color,..., subscripts) {
  fill <- fill.color[subscripts]
  panel.xyplot(x,y, col=fill, ... ) } )

# 분석 결과의 해석 : 삼성은 두명의 타자가 출루율과 장타율 모두 높으며 이들은 타수가 매우 큼

# 확실하고 꾸준한 공격 기여도를 가진 두명의 선수가 존재한다는 의미

# 다른 팀에는 이 정도의 선수가 없음

# 두산은 출루율과 장타율 모두가 전반적으로 낮을 뿐 아니라 꾸준히 출장하는 선수도 적음