1. 학습
  2. /
  3. 프로젝트
  4. /
  5. 사례 연구: R로 도시 시계열 데이터 분석

Connected

연습 문제

시즌별 누적 평균 계산 및 시각화

이전 연습 문제에서는 endpoints()와 period.apply()를 사용해 각 시즌 말의 Boston Red Sox 승/패 평균을 빠르게 계산했어요. 하지만 시즌을 진행하는 동안의 누적 평균이 필요하다면 어떻게 해야 할까요? 통계학자와 스포츠 팬 모두, 팀을 경쟁 상대와 비교할 때 이 지표를 자주 사용합니다.

각 시즌의 누적 평균을 계산하려면 챕터 3에서 연습했던 split-lapply-rbind 공식을 다시 사용해야 해요. 먼저 데이터를 시즌별로 분할하고, 각 시즌의 win_loss 열에 누적 평균 함수를 적용한 다음, 그 값을 다시 xts 객체로 결합합니다.

누적 합을 구한 뒤 해당 합에 포함된 값의 개수로 나누는 사용자 정의 cummean() 함수가 준비되어 있어요. win_loss 열을 포함한 redsox_xts 데이터는 작업 공간에 제공됩니다.

지침

100 XP
  • split()을 사용해 redsox_xts 데이터를 시즌(여기서는 years)별로 나누세요. 결과를 redsox_seasons에 할당하세요.
  • lapply()를 사용해 각 시즌의 누적 평균을 계산하세요. 이번 연습을 위해, 합계는 cumsum()으로 구하고 합계에 포함된 항목 수는 seq_along()으로 계산하는 cummean() 함수가 제공됩니다. 결과를 redsox_ytd에 저장하세요.
  • do.call()을 rbind와 함께 사용하여 목록 형태의 출력을 단일 xts 객체(redsox_winloss)로 변환하세요. 이 객체에는 각 시즌 전 기간에 걸친 승/패 평균이 포함됩니다.
  • plot.xts()를 사용해 2013 시즌 동안의 누적 승/패 평균을 확인하세요. 미리 작성된 코드의 ylim 인자는 그대로 두세요.