시즌별 누적 평균 계산 및 시각화
이전 연습 문제에서는 endpoints()와 period.apply()를 사용해 각 시즌 말의 Boston Red Sox 승/패 평균을 빠르게 계산했어요. 하지만 시즌을 진행하는 동안의 누적 평균이 필요하다면 어떻게 해야 할까요? 통계학자와 스포츠 팬 모두, 팀을 경쟁 상대와 비교할 때 이 지표를 자주 사용합니다.
각 시즌의 누적 평균을 계산하려면 챕터 3에서 연습했던 split-lapply-rbind 공식을 다시 사용해야 해요. 먼저 데이터를 시즌별로 분할하고, 각 시즌의 win_loss 열에 누적 평균 함수를 적용한 다음, 그 값을 다시 xts 객체로 결합합니다.
누적 합을 구한 뒤 해당 합에 포함된 값의 개수로 나누는 사용자 정의 cummean() 함수가 준비되어 있어요. win_loss 열을 포함한 redsox_xts 데이터는 작업 공간에 제공됩니다.
이 연습은 강의의 일부입니다
사례 연구: R로 도시 시계열 데이터 분석
연습 안내
split()을 사용해redsox_xts데이터를 시즌(여기서는years)별로 나누세요. 결과를redsox_seasons에 할당하세요.lapply()를 사용해 각 시즌의 누적 평균을 계산하세요. 이번 연습을 위해, 합계는cumsum()으로 구하고 합계에 포함된 항목 수는seq_along()으로 계산하는cummean()함수가 제공됩니다. 결과를redsox_ytd에 저장하세요.do.call()을rbind와 함께 사용하여 목록 형태의 출력을 단일 xts 객체(redsox_winloss)로 변환하세요. 이 객체에는 각 시즌 전 기간에 걸친 승/패 평균이 포함됩니다.plot.xts()를 사용해2013시즌 동안의 누적 승/패 평균을 확인하세요. 미리 작성된 코드의ylim인자는 그대로 두세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Split redsox_xts win_loss data into years
redsox_seasons <- split(___$___, f = "___")
# Use lapply to calculate the cumulative mean for each season
redsox_ytd <- lapply(___, cummean)
# Use do.call to rbind the results
redsox_winloss <- do.call(___, ___)
# Plot the win_loss average for the 2013 season
plot.xts(___["___"], ylim = c(0, 1))