GDP 데이터에 이산형 누적 합계 추가하기
한 기간에서 다음 기간으로의 변화량을 아는 것도 중요하지만, 연초 이후 지금까지의 변화량(연초 대비 누적 변화량) 전체를 알고 싶을 때가 있습니다. 이런 지표를 만들려면 split-lapply-rbind 패턴을 사용할 수 있어요. 이 과정은 이전 장에서 월별 평균 기온을 계산할 때 사용했던 과정과 유사합니다.
이번 연습 문제에서는 이 장 앞부분에서 사용한 gdp 데이터로 돌아갑니다. 각 분기의 정적인 GDP 값에 더해, 분기 간 GDP 변화량(diff() 사용)과 연초 이후 누적 GDP 변화량의 이산형 누적 합계(split(), lapply(), rbind() 사용)도 계산해 보겠습니다.
이 연습은 강의의 일부입니다
사례 연구: R로 도시 시계열 데이터 분석
연습 안내
diff()를 사용해gdp의 분기별 단순 차이를 계산하세요.gdp열을 지정하고lag을1기간(이 경우 1분기)으로 설정합니다. 결과를gdp객체의quarterly_diff로 저장하세요.- 분기별 GDP 변화량을 구했으니, 이제
split()을 사용해quarterly_diff데이터를 연도별로 분할하세요.split()호출 시gdp의quarterly_diff열을 지정하고,f인자를 반드시"years"(따옴표 포함)로 설정하세요. - 분할된 새 데이터에
lapply()를 사용하세요. 각 연도의 누적 합을 계산하려면FUN인자를cumsum(따옴표 없이)으로 설정합니다. do.call()을 사용해gdpchange_ytd데이터를 다시 하나의 xts 객체로 rbind 하세요.- 마지막으로
plot.xts()를 사용해 GDP의 연초 대비 누적 변화(gdpchange_xts)를 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Add a quarterly difference in gdp
gdp$quarterly_diff <- diff(___$___, lag = ___, differences = ___)
# Split gdp$quarterly_diff into years
gdpchange_years <- split(___$___, f = "___")
# Use lapply to calculate the cumsum each year
gdpchange_ytd <- lapply(___, FUN = ___)
# Use do.call to rbind the results
gdpchange_xts <- do.call(rbind, ___)
# Plot cumulative year-to-date change in GDP
plot.xts(___, type = "h")