본문 바로가기

오탈자 정보

[실전에서 바로 쓰는 시계열 데이터 처리와 분석 in R]_오탈자

현재까지 발견된 이 책의 오탈자 정보와 오류(출간후 프로그램 버전업에 따른 갱신까지 포함됩니다), 그리고 보다 매끄러운 문장을 위해 수정한 내용을 안내해 드립니다. 저술과 편집 시에 미처 확인하지 못하고 불편을 끼쳐드려 죄송하다는 말씀을 드립니다. 아래의 오탈자 사항은 추후 재쇄 시에 반영하도록 하겠습니다.

 

이외의 오탈자 정보를 발견하시면 저자(2stndard@gmail.com)나 출판사(help@jpub.kr)로 연락주시면 고맙겠습니다. 

 

최종수정일자: 2021년 10월 7일 
1쇄본 오탈자

13쪽 2.1.2 소절의 1행에서(지O현 님 제보)

POSIXct와 POSIXlt 클래스는 1970년 이후의 시간을 초단위로 기록하는 클래스이다.

POSIXct 클래스는 1970년 이후, POSIXlt 클래스는 1900년 이후의 시간을 초단위로 기록하는 클래스이다.

 

24쪽 상단 '코드설명' 박스의 2행에서(지O현 님 제보)

skip,(skip=16)‘-’ skip(skip=16), ‘-’

 

80쪽 코드블록의 7행에서(지O현 님 제보)

geom_line(aes(total, group = 1, color= ‘3개월 합계’)) +

 geom_line(aes(total, group = 1, color= ‘취업자수’)) +

 

80쪽 드블록의 10행에서(지O현 님 제보)

scale_color_manual(’‘, values = c(’3개월합계’ = ‘red’, ‘3개월 평균’ = ‘blue’))

 scale_color_manual(’‘, values = c(’취업자수’ = ‘red’, ‘3개월 평균’ = ‘blue’))

 

80쪽 그림 4-11에서(지O현 님 제보)

 

▲ 그림 4-11 전체 취업자수의 3개월 합계와 3개월 평균 플롯 ― roll* 함수 사용

 

91쪽 코드블록의 2행에서(지O현 님 제보)

students.xts$증감률 <- round((students.xts$증감/students.xts$학생수계), 3) * 100

 students.xts$증감률 <- round((students.xts$증감/students.xts$유치원), 3) * 100

 

91쪽 코드 결과에서(지O현 님 제보)

                유치원    증감  증감률
1999-01-01 8658358    NA     NA
2000-01-01 8535867 11097  0.1
2001-01-01 8414423   -121  0.0
2002-01-01 8361933   5114  0.1
2003-01-01 8379775  -3725  0.0
2004-01-01 8371630  -4818 -0.1
2005-01-01 8371421    -110  0.0
2006-01-01 8354891   4209  0.1
2007-01-01 8309932  -4262 -0.1
2008-01-01 8187782  -3728  0.0

 

 

                유치원   증감  증감률
1999-01-01 534166    NA     NA
2000-01-01 545263 11097    2.0
2001-01-01 545142   -121    0.0
2002-01-01 550256  5114    0.9
2003-01-01 546531 -3725   -0.7
2004-01-01 541713 -4818   -0.9
2005-01-01 541603  -110    0.0
2006-01-01 545812  4209    0.8
2007-01-01 541550 -4262   -0.8
2008-01-01 537822 -3728   -0.7

 

91쪽 그림 4-15에서(지O현 님 제보)

 

▲ 그림 4-15 전년 대비 유치원 학생수 증감률

96쪽 상단 코드블록의 1~3행에서(지O현 님 제보)

index_by(yearqtr = ~ year(.)) %>%

mutate(sum.qtrly = sum(total)) %>%

mutate(rate.qtrly = (total/sum.qtrly)*100) %>%

index_by(yearly = ~ year(.)) %>%

mutate(sum.yearly = sum(total)) %>%

mutate(rate.yearly = (total/sum.yearly)*100) %>%

 

96쪽 코드 결과에서(지O현 님 제보)

# A tsibble: 15 x 6 [1D]
# Groups:    @ yearqtr [2]
   time       total employees.edu  yearqtr   sum.qtrly  rate.qtrly
   <date>     <int>         <int>  <dbl>      <int>       <dbl>
 1 2013-01-01 24287          1710   2013     303592        8.00
 2 2013-02-01 24215          1681   2013     303592        7.98
 3 2013-03-01 24736          1716   2013     303592        8.15
 4 2013-04-01 25322          1745   2013     303592        8.34
 5 2013-05-01 25610          1774   2013     303592        8.44
 6 2013-06-01 25686          1786   2013     303592        8.46
 7 2013-07-01 25681          1813   2013     303592        8.46
 8 2013-08-01 25513          1811   2013     303592        8.40
 9 2013-09-01 25701          1794   2013     303592        8.47
10 2013-10-01 25798          1790   2013     303592        8.50
11 2013-11-01 25795          1793   2013     303592        8.50
12 2013-12-01 25248          1779   2013     303592        8.32
13 2014-01-01 25050          1748   2014     310766        8.06
14 2014-02-01 25116          1786   2014     310766        8.08
15 2014-03-01 25463          1814   2014     310766        8.19

# A tsibble: 15 x 6 [1D]
# Groups:    @ yearly [2]
   time       total employees.edu  yearly  sum.yearly  rate.yearly
    <date>     <int>         <int>  <dbl>      <int>       <dbl>                             
 1 2013-01-01 24287          1710   2013     303592        8.00
 2 2013-02-01 24215          1681   2013     303592        7.98
 3 2013-03-01 24736          1716   2013     303592        8.15
 4 2013-04-01 25322          1745   2013     303592        8.34
 5 2013-05-01 25610          1774   2013     303592        8.44
 6 2013-06-01 25686          1786   2013     303592        8.46
 7 2013-07-01 25681          1813   2013     303592        8.46
 8 2013-08-01 25513          1811   2013     303592        8.40
 9 2013-09-01 25701          1794   2013     303592        8.47
10 2013-10-01 25798          1790   2013     303592        8.50
11 2013-11-01 25795          1793   2013     303592        8.50
12 2013-12-01 25248          1779   2013     303592        8.32
13 2014-01-01 25050          1748   2014     310766        8.06
14 2014-02-01 25116          1786   2014     310766        8.08
15 2014-03-01 25463          1814   2014     310766        8.19

 

132쪽 6에서(박O희 님 제보)

차분이 필요한지 알아내고 차분을 해주면 비정상 시계열이 된다.
차분이 필요한지 알아내고 차분을 해주면 정상 시계열이 된다.

 

133쪽 5~7에서(박O환 님 제보)

wo()는 qs()의 p value가 0.01보다 작거나 kw()이 결과가 0.002보다 작다면 계절성이 있다고 판단한다.
wo()는 앞선 ur.kpss()나 box.test()와는 달리 명확하게 계절성이 있는지 없는지를 알려 준다
combined_test()는 qs()의 p value가 0.01보다 작거나 kw()이 결과가 0.002보다 작다면 계절성이 있다고 판단한다.

combined_test()는 앞선 ur.kpss()나 box.test()와는 달리 명확하게 계절성이 있는지 없는지를 알려 준다

 

133쪽 첫 번째 코드 블록의 두 번째 코드(박O환 님 제보)

summary(wo(students.ts[,2]))

summary(combined_test(students.ts[,2]))

 

133쪽 첫 번째 코드 블록의 실행결과(연도 시계열 데이터라 계절성이 없어 다음과 같은 오류를 발생함)(박O환 님 제보)

Error in combined_test(students.ts[, 2]) :
  The number of observations per cycle (usually years) is 1 and thus too small.

 

133쪽 두 번째 코드 블록의 첫 번째 코드(박O환 님 제보)

summary(wo(employees.ts[,2]))

 summary(combined_test(employees.ts[,2]))

 

133쪽 두 번째 코드 블록의 실행결과(기존 결과와 동일)

Test used:  WO
 
Test statistic:  1
P-value:  0 1.199041e-14 2.346908e-06
 
The WO - test identifies seasonality

 

133쪽 네 번째 코드 블록의 첫 번째 코드(박O환 님 제보)

summary(wo(employees.ts[,3]))

-> summary(combined_test(employees.ts[,3]))

 

133쪽 네 번째 코드 블록의 실행결과(기존 결과와 동일)

Test used: WO

 

Test statistic: 0

P-value: 0.1976637 0.1976739 0.006082959

 

The WO - test does not identify seasonality

 

200쪽 그림 6-56에서(지O현 님 제보)

▲ 그림 6-56 ARIMA(1,0,1) 모델의 ggtsdisplay( ) 실행 결과

254쪽 끝행에서(지O현 님 제보)

ot_modeltime_forecast()를 사용하여 두 모델의 10년치 예측 데이터 플롯을 생성
plot_modeltime_forecast()를 사용하여 두 모델의 10년치 예측 데이터 플롯을 생성