기말 프로젝트

20220151 임소율

< What >

  • 년도별 사계절이 다가온 시기변화로 알아보는 지구온난화

  • 사계절 구분 기준 : 3-5월 봄, 6-8월 여름, 9-11월 가을, 12-2월 겨울

=> But, 겨울계절로 더 디테일하게 그래프를 생성하고, 현상을 보는게 더 좋을 것 같다 생각들어, 사계절이 아닌 겨울만 갖고 그래프를 형성하였음.

=> 년도별 겨울의 편균온도 변화차로 알아보는 지구온난화

< Why >

  • 지구온난화로 인한 사계절 시기 변화의 심각성을 밝히고, 지구환경의 보호에 대한 경각심을 일으키기 위함.

  • 그래프를 통해 계절 시즌이 점점 더 빨라지고, 사계절의 경게선이 모호해지고 있음을 확인하며, 지구온난화가 점점 더 악화 및 진행되고 있단 점을 알 수 있음.

=> 지구온난화로 인한 겨울의 극심한 온도변화의 심각성을 밝히고, 지구환경의 보호에 대한 경각심을 일으키기 위함.

=> 그래프를 통해 겨울의 평균온도가 시간이 지날수록 점점 더 빨라지고 있음을 확인할 수 있으며, 지구온난화가 점점 더 악화 및 진행되고 있단 점을 알 수 있음.

< How >

  • 기상청 기상자료개방포털 사이트에서 서울 지역의 2000년부터 2020년까지의 최저기온, 평균기온, 최고기온을 담은 데이터를 불러옴.

이때, 사계절을 구분한 기준인 특정 월을 참고하여, 월별로 나눠 데이터를 가져오고, 이를 봄/ 여름/ 가을/ 겨울 각각 따로 나눠 데이터프레임을 생성함.

  • 각 년도별로 추출한 계절별 새로운 데이터프레임의 평균 기온을 구함.

  • 구한 년도별 평균 기온을 합쳐, 이를 선그래프로 생성.

=> 계절별 평균기온 그래프론 나의 주요 연구목적을 분명하게 실현시키기 어려울 거라 생각.

=> 사계절이 아닌 겨울 한계절만 이용하여, 몇십년동안의 겨울 평균온도 데이터를 추출. 그리고 년도별로 평균온도의 mean값을 구하여, 이를 선그래프로 생성.

=> 2000년대와 1900년대의 겨울 평균온도의 변화차 그래프를 생성하여, 더 극심한 온도변화가 있는 년도를 확인하고, 이를 지구온난화 문제와 관련지음.

< 1 part >

getwd()
## [1] "C:/Users/admin/Desktop/R/R 기말프로젝트"
setwd("C:/Users/admin/Desktop/R/R 기말프로젝트")
library(readxl)
## Warning: 패키지 'readxl'는 R 버전 4.3.2에서 작성되었습니다

1970년부터 2023년까지의 12월 1일부터 12월 31일, 1월 1일부터 2월 31일까지 최저기온, 평균기온, 최고기온을 담은 데이터

winter <- read_excel("1201231.xlsx")
head(winter)
## # A tibble: 6 × 10
##    지점 지점명 일시                `평균기온(℃)` 평균최고 `최고기온(℃)` 최고기온
##   <dbl> <chr>  <dttm>                      <dbl> <chr>            <dbl> <chr>   
## 1    NA <NA>   NA                           NA   기온(℃)           NA   일자    
## 2   108 서울   1970-12-01 00:00:00          -1   2.9               11.6 25919   
## 3   108 서울   1971-12-01 00:00:00          -1.2 2.8               11.5 26269   
## 4   108 서울   1972-12-01 00:00:00           0.6 4.7               12   26638   
## 5   108 서울   1973-12-01 00:00:00          -3   1.7               10.8 27000   
## 6   108 서울   1974-12-01 00:00:00          -0.5 3.7               10.3 27364   
## # ℹ 3 more variables: 평균최저 <chr>, `최저기온(℃)` <dbl>, 최저기온 <chr>
library(ggplot2)
## Warning: 패키지 'ggplot2'는 R 버전 4.3.2에서 작성되었습니다
library(dplyr)
## Warning: 패키지 'dplyr'는 R 버전 4.3.2에서 작성되었습니다
## 
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
colnames(winter)
##  [1] "지점"         "지점명"       "일시"         "평균기온(℃)" "평균최고"    
##  [6] "최고기온(℃)" "최고기온"     "평균최저"     "최저기온(℃)" "최저기온"
winter <- rename(winter, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  )  
library(dplyr)
ggplot(data=winter, aes(x = date)) +
  geom_line(aes(y = min, color = "min")) +
  geom_line(aes(y = max, color = "max")) +
  geom_line(aes(y = mean, color = "mean")) +
  labs(title = "Temperature Over Time",
       x = "Date",
       y = "Temperature") +
  scale_color_manual(values = c("min" = "blue", 
                                "max" = "red", 
                                "mean" = "green"))
## Warning: Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).

1970년부터 2023년까지의 6월 1일부터 8월 31일최저기온, 평균기온, 최고기온을 담은 데이터

summer <- read_excel("06010831.xlsx")
head(summer)
## # A tibble: 6 × 10
##    지점 지점명 일시                `평균기온(℃)` 평균최고 `최고기온(℃)` 최고기온
##   <dbl> <chr>  <dttm>                      <dbl> <chr>            <dbl> <chr>   
## 1    NA <NA>   NA                           NA   기온(℃)           NA   일자    
## 2   108 서울   1970-06-01 00:00:00          20.5 25.1              30   25726   
## 3   108 서울   1970-07-01 00:00:00          23   26.5              32.2 25770   
## 4   108 서울   1970-08-01 00:00:00          25.9 29.9              35   25792   
## 5   108 서울   1971-06-01 00:00:00          21.6 26                30.4 26092   
## 6   108 서울   1971-07-01 00:00:00          23.9 27.3              32   26145   
## # ℹ 3 more variables: 평균최저 <chr>, `최저기온(℃)` <dbl>, 최저기온 <chr>
colnames(summer)
##  [1] "지점"         "지점명"       "일시"         "평균기온(℃)" "평균최고"    
##  [6] "최고기온(℃)" "최고기온"     "평균최저"     "최저기온(℃)" "최저기온"
summer <- rename(summer, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  )  
ggplot(data=summer, aes(x = date)) +
  geom_line(aes(y = min, color = "min")) +
  geom_line(aes(y = max, color = "max")) +
  geom_line(aes(y = mean, color = "mean")) +
  labs(title = "Temperature Over Time",
       x = "Date",
       y = "Temperature") +
  scale_color_manual(values = c("min" = "blue", 
                                "max" = "red", 
                                "mean" = "green"))
## Warning: Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).

1970년부터 2023년까지의 3월 1일부터 5월 31일최저기온, 평균기온, 최고기온을 담은 데이터

spring <- read_excel("03010531.xlsx")
head(spring)
## # A tibble: 6 × 10
##    지점 지점명 일시                `평균기온(℃)` 평균최고 `최고기온(℃)` 최고기온
##   <dbl> <chr>  <dttm>                      <dbl> <chr>            <dbl> <chr>   
## 1    NA <NA>   NA                           NA   기온(℃)           NA   일자    
## 2   108 서울   1970-03-01 00:00:00           0.4 4.8               16   25656   
## 3   108 서울   1970-04-01 00:00:00          12.2 18.3              26   25688   
## 4   108 서울   1970-05-01 00:00:00          18.7 24.6              29.8 25712   
## 5   108 서울   1971-03-01 00:00:00           2   6.6               20.2 26020   
## 6   108 서울   1971-04-01 00:00:00          11.2 17                24.1 26050   
## # ℹ 3 more variables: 평균최저 <chr>, `최저기온(℃)` <dbl>, 최저기온 <chr>
colnames(spring)
##  [1] "지점"         "지점명"       "일시"         "평균기온(℃)" "평균최고"    
##  [6] "최고기온(℃)" "최고기온"     "평균최저"     "최저기온(℃)" "최저기온"
spring <- rename(spring, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  )  
ggplot(data=spring, aes(x = date)) +
  geom_line(aes(y = min, color = "min")) +
  geom_line(aes(y = max, color = "max")) +
  geom_line(aes(y = mean, color = "mean")) +
  labs(title = "Temperature Over Time",
       x = "Date",
       y = "Temperature") +
  scale_color_manual(values = c("min" = "blue", 
                                "max" = "red", 
                                "mean" = "green"))
## Warning: Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).

1970년부터 2023년까지의 9월 1일부터 11월 31일최저기온, 평균기온, 최고기온을 담은 데이터

fall <- read_excel("09011131.xlsx")
head(fall)
## # A tibble: 6 × 10
##    지점 지점명 일시                `평균기온(℃)` 평균최고 `최고기온(℃)` 최고기온
##   <dbl> <chr>  <dttm>                      <dbl> <chr>            <dbl> <chr>   
## 1    NA <NA>   NA                           NA   기온(℃)           NA   일자    
## 2   108 서울   1970-09-01 00:00:00          21.2 26                31.2 25818   
## 3   108 서울   1970-10-01 00:00:00          14.9 20.3999…          25.6 25848   
## 4   108 서울   1970-11-01 00:00:00           5.7 10.4              18.2 25881   
## 5   108 서울   1971-09-01 00:00:00          20.6 25.2              29.6 26182   
## 6   108 서울   1971-10-01 00:00:00          13   18.7              24.1 26215   
## # ℹ 3 more variables: 평균최저 <chr>, `최저기온(℃)` <dbl>, 최저기온 <chr>
colnames(fall)
##  [1] "지점"         "지점명"       "일시"         "평균기온(℃)" "평균최고"    
##  [6] "최고기온(℃)" "최고기온"     "평균최저"     "최저기온(℃)" "최저기온"
fall <- rename(fall, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  )  
ggplot(data=fall, aes(x = date)) +
  geom_line(aes(y = min, color = "min")) +
  geom_line(aes(y = max, color = "max")) +
  geom_line(aes(y = mean, color = "mean")) +
  labs(title = "Temperature Over Time",
       x = "Date",
       y = "Temperature") +
  scale_color_manual(values = c("min" = "blue", 
                                "max" = "red", 
                                "mean" = "green"))
## Warning: Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).
## Removed 1 row containing missing values (`geom_line()`).

< 2 part >

2000년도부터 2010년도까지, 겨울 12월, 1월, 2월까지의 기온을 모아둔 데이터를 추출.

winter_2000 <- read_excel("2000-2010_winter.xlsx", sheet=1)
winter_2001 <- read_excel("2000-2010_winter.xlsx", sheet=2) 
winter_2002 <- read_excel("2000-2010_winter.xlsx", sheet=3)
winter_2003 <- read_excel("2000-2010_winter.xlsx", sheet=4)
winter_2004 <- read_excel("2000-2010_winter.xlsx", sheet=5)
winter_2005 <- read_excel("2000-2010_winter.xlsx", sheet=6)
winter_2006 <- read_excel("2000-2010_winter.xlsx", sheet=7)
winter_2007 <- read_excel("2000-2010_winter.xlsx", sheet=8)
winter_2008 <- read_excel("2000-2010_winter.xlsx", sheet=9)
winter_2009 <- read_excel("2000-2010_winter.xlsx", sheet=10)
winter_2010 <- read_excel("2000-2010_winter.xlsx", sheet=11)
head(winter_2000)
## # A tibble: 4 × 10
##    지점 지점명 일시                `평균기온(℃)` 평균최고 `최고기온(℃)` 최고기온
##   <dbl> <chr>  <dttm>                      <dbl> <chr>            <dbl> <chr>   
## 1    NA <NA>   NA                           NA   기온(℃)           NA   일자    
## 2   108 서울   2000-12-01 00:00:00           0.9 4.90000…          11.9 36869   
## 3   108 서울   2000-01-01 00:00:00          -2.1 1.7                9.9 36526   
## 4   108 서울   2000-02-01 00:00:00          -1.7 2.6                7.5 36575   
## # ℹ 3 more variables: 평균최저 <chr>, `최저기온(℃)` <dbl>, 최저기온 <chr>
colnames(winter_2000)
##  [1] "지점"         "지점명"       "일시"         "평균기온(℃)" "평균최고"    
##  [6] "최고기온(℃)" "최고기온"     "평균최저"     "최저기온(℃)" "최저기온"

한글 오류를 피하기 위해, 필요한 칼럼의 이름을 영어로 고치기.

winter_2000 <- rename(winter_2000, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2001 <- rename(winter_2001, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2002 <- rename(winter_2002, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2003 <- rename(winter_2003, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2004 <- rename(winter_2004, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2005 <- rename(winter_2005, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2006 <- rename(winter_2006, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2007 <- rename(winter_2007, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2008 <- rename(winter_2008, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2009 <- rename(winter_2009, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2010 <- rename(winter_2010, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 

각 년도별 겨울 평균온도의 mean 구하기.

mean_2000 <- mean(winter_2000$mean, na.rm = TRUE)
print(mean_2000)
## [1] -0.9666667
mean_2001 <- mean(winter_2001$mean, na.rm = TRUE)
print(mean_2001)
## [1] -1.666667
mean_2002 <- mean(winter_2002$mean, na.rm = TRUE)
print(mean_2002)
## [1] 1.633333
mean_2003 <- mean(winter_2003$mean, na.rm = TRUE)
print(mean_2003)
## [1] 0.3
mean_2004 <- mean(winter_2004$mean, na.rm = TRUE)
print(mean_2004)
## [1] 0.9
mean_2005 <- mean(winter_2005$mean, na.rm = TRUE)
print(mean_2005)
## [1] -2.766667
mean_2006 <- mean(winter_2006$mean, na.rm = TRUE)
print(mean_2006)
## [1] 0.4333333
mean_2007 <- mean(winter_2007$mean, na.rm = TRUE)
print(mean_2007)
## [1] 2.066667
mean_2008 <- mean(winter_2008$mean, na.rm = TRUE)
print(mean_2008)
## [1] -0.6
mean_2009 <- mean(winter_2009$mean, na.rm = TRUE)
print(mean_2009)
## [1] -0.03333333
mean_2010 <- mean(winter_2010$mean, na.rm = TRUE)
print(mean_2010)
## [1] -1.466667

mean을 하나로 합친 mean_winter 데이터를 생성하고, 이 데이터를 이용해 점그래프 생성하기.

mean_winter <- data.frame(
  year = c(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010),
  mean_value = c(mean_2000, mean_2001, mean_2002, mean_2003, mean_2004, mean_2005, mean_2006, mean_2007, mean_2008, mean_2009, mean_2010)
)

ggplot(mean_winter, aes(x = year, y = mean_value)) +
  geom_line() +
  labs(
    title = "Mean Temperature Over Years",
    x = "Year",
    y = "Mean Temperature"
  )

< 보완점 1 >

10년간의 겨울 평균온도 차이로는 확연한 기후문제가 보이지 않음. 2011년부터 2022년까지의 데이터를 더 추가해서 파일을 출력한 다음, 2011년부터 2022년까지의 데이터도 mean을 구하여 그래프에 추가할 것임.

winter_2011 <- read_excel("2011-2022_winter.xlsx", sheet=1)
winter_2012 <- read_excel("2011-2022_winter.xlsx", sheet=2) 
winter_2013 <- read_excel("2011-2022_winter.xlsx", sheet=3)
winter_2014 <- read_excel("2011-2022_winter.xlsx", sheet=4)
winter_2015 <- read_excel("2011-2022_winter.xlsx", sheet=5)
winter_2016 <- read_excel("2011-2022_winter.xlsx", sheet=6)
winter_2017 <- read_excel("2011-2022_winter.xlsx", sheet=7)
winter_2018 <- read_excel("2011-2022_winter.xlsx", sheet=8)
winter_2019 <- read_excel("2011-2022_winter.xlsx", sheet=9)
winter_2020 <- read_excel("2011-2022_winter.xlsx", sheet=10)
winter_2021 <- read_excel("2011-2022_winter.xlsx", sheet=11)
winter_2022 <- read_excel("2011-2022_winter.xlsx", sheet=12)
winter_2011 <- rename(winter_2011, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2012 <- rename(winter_2012, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2013 <- rename(winter_2013, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2014 <- rename(winter_2014, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2015 <- rename(winter_2015, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2016 <- rename(winter_2016, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2017 <- rename(winter_2017, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2018 <- rename(winter_2018, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2019 <- rename(winter_2019, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2020 <- rename(winter_2020, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2021 <- rename(winter_2021, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_2022 <- rename(winter_2022, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
mean_2011 <- mean(winter_2011$mean, na.rm = TRUE)
print(mean_2011)
## [1] -2.3
mean_2012 <- mean(winter_2012$mean, na.rm = TRUE)
print(mean_2012)
## [1] -2.966667
mean_2013 <- mean(winter_2013$mean, na.rm = TRUE)
print(mean_2013)
## [1] -1.6
mean_2014 <- mean(winter_2014$mean, na.rm = TRUE)
print(mean_2014)
## [1] -0.5666667
mean_2015 <- mean(winter_2015$mean, na.rm = TRUE)
print(mean_2015)
## [1] 0.5666667
mean_2016 <- mean(winter_2016$mean, na.rm = TRUE)
print(mean_2016)
## [1] -0.6
mean_2017 <- mean(winter_2017$mean, na.rm = TRUE)
print(mean_2017)
## [1] -1.3
mean_2018 <- mean(winter_2018$mean, na.rm = TRUE)
print(mean_2018)
## [1] -2.066667
mean_2019 <- mean(winter_2019$mean, na.rm = TRUE)
print(mean_2019)
## [1] 0.5
mean_2020 <- mean(winter_2020$mean, na.rm = TRUE)
print(mean_2020)
## [1] 1.266667
mean_2021 <- mean(winter_2021$mean, na.rm = TRUE)
print(mean_2021)
## [1] 0.3
mean_2022 <- mean(winter_2022$mean, na.rm = TRUE)
print(mean_2022)
## [1] -2.033333

2011년부터 2022년까지의 겨울 평균온도를 점그래프에 추가하여 다시 생성하기.

mean_winter <- data.frame(
  year = c(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022),
  mean_value = c(mean_2000, mean_2001, mean_2002, mean_2003, mean_2004, mean_2005, mean_2006, mean_2007, mean_2008, mean_2009, mean_2010, mean_2011, mean_2012, mean_2013, mean_2014, mean_2015, mean_2016, mean_2017, mean_2018, mean_2019, mean_2020, mean_2021, mean_2022)
)

ggplot(mean_winter, aes(x = year, y = mean_value)) +
  geom_line() +
  labs(
    title = "Mean Temperature Over Years",
    x = "Year",
    y = "Mean Temperature"
  )

=> 약 20년동안의 겨울 평균온도가 시간이 지날수록 점점 더 낮아질 것으로 예상하였지만, 그렇진 않고 내려갔다 올라갔다 왔다갔다 온도변화를 반복하는 것 같다.

=> 이 그래프를 통해, 극심한 년도별 겨울 평균온도차를 보이며 이러한 극심한 온도변화는 기후온난화와 연관될 것으로 생각된다.

< 보완점 2 >

다만, 약 20년전인 2000년도의 겨울에도 극심한 년도별 온도변화 현상이 일어난 것으로 보아, 기후 온난화로 인한 현상인지는 확실치 못하겠다. 그러하여, 아주 먼 옛날인 1900년대의 데이터도 끌어와 다시한번 그래프를 그려보겠다.

지금으로부터 먼 과거인 1920년부터 1940년까지의 겨울 평균온도 데이터를 끌어와, 이에대한 mean의 값을 구하고, 이 값을 이용해 데이터를 그려보겠음.

이 과정에서 먼 과거 기후온난화가 현재보단 완화된 시점에서도 겨울 온도의 극심한 변화 현상이 있었는지 확인할 수 있음.

winter_1920 <- read_excel("1920-1940_winter.xlsx", sheet=1)
winter_1921 <- read_excel("1920-1940_winter.xlsx", sheet=2)
winter_1922 <- read_excel("1920-1940_winter.xlsx", sheet=3)
winter_1923 <- read_excel("1920-1940_winter.xlsx", sheet=4)
winter_1924 <- read_excel("1920-1940_winter.xlsx", sheet=5)
winter_1925 <- read_excel("1920-1940_winter.xlsx", sheet=6)
winter_1926 <- read_excel("1920-1940_winter.xlsx", sheet=7)
winter_1927 <- read_excel("1920-1940_winter.xlsx", sheet=8)
winter_1928 <- read_excel("1920-1940_winter.xlsx", sheet=9)
winter_1929 <- read_excel("1920-1940_winter.xlsx", sheet=10)
winter_1930 <- read_excel("1920-1940_winter.xlsx", sheet=11)
winter_1931 <- read_excel("1920-1940_winter.xlsx", sheet=12)
winter_1932 <- read_excel("1920-1940_winter.xlsx", sheet=13)
winter_1933 <- read_excel("1920-1940_winter.xlsx", sheet=14)
winter_1934 <- read_excel("1920-1940_winter.xlsx", sheet=15)
winter_1935 <- read_excel("1920-1940_winter.xlsx", sheet=16)
winter_1936 <- read_excel("1920-1940_winter.xlsx", sheet=17)
winter_1937 <- read_excel("1920-1940_winter.xlsx", sheet=18)
winter_1938 <- read_excel("1920-1940_winter.xlsx", sheet=19)
winter_1939 <- read_excel("1920-1940_winter.xlsx", sheet=20)
winter_1940 <- read_excel("1920-1940_winter.xlsx", sheet=21)
winter_1920 <- rename(winter_1920, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1921 <- rename(winter_1921, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1922 <- rename(winter_1922, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1923 <- rename(winter_1923, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1924 <- rename(winter_1924, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1925 <- rename(winter_1925, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1926 <- rename(winter_1926, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1927 <- rename(winter_1927, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1928 <- rename(winter_1928, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1929 <- rename(winter_1929, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1930 <- rename(winter_1930, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1931 <- rename(winter_1931, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1932 <- rename(winter_1932, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1933 <- rename(winter_1933, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1934 <- rename(winter_1934, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1935 <- rename(winter_1935, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1936 <- rename(winter_1936, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1937 <- rename(winter_1937, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1938 <- rename(winter_1938, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1939 <- rename(winter_1939, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
winter_1940 <- rename(winter_1940, "date"="일시", "mean" = "평균기온(℃)", "min"="최저기온(℃)", "max"="최고기온(℃)"  ) 
mean_1920 <- mean(winter_1920$mean, na.rm = TRUE)
print(mean_1920)
## [1] -3.733333
mean_1921 <- mean(winter_1921$mean, na.rm = TRUE)
print(mean_1921)
## [1] -1.566667
mean_1922 <- mean(winter_1922$mean, na.rm = TRUE)
print(mean_1922)
## [1] -3.666667
mean_1923 <- mean(winter_1923$mean, na.rm = TRUE)
print(mean_1923)
## [1] -3.633333
mean_1924 <- mean(winter_1924$mean, na.rm = TRUE)
print(mean_1924)
## [1] -1.966667
mean_1925 <- mean(winter_1925$mean, na.rm = TRUE)
print(mean_1925)
## [1] -2.8
mean_1926 <- mean(winter_1926$mean, na.rm = TRUE)
print(mean_1926)
## [1] -3.766667
mean_1927 <- mean(winter_1927$mean, na.rm = TRUE)
print(mean_1927)
## [1] -3
mean_1928 <- mean(winter_1928$mean, na.rm = TRUE)
print(mean_1928)
## [1] -3.133333
mean_1929 <- mean(winter_1929$mean, na.rm = TRUE)
print(mean_1929)
## [1] -2.033333
mean_1930 <- mean(winter_1930$mean, na.rm = TRUE)
print(mean_1930)
## [1] -1.466667
mean_1931 <- mean(winter_1931$mean, na.rm = TRUE)
print(mean_1931)
## [1] -2.533333
mean_1932 <- mean(winter_1932$mean, na.rm = TRUE)
print(mean_1932)
## [1] -0.4666667
mean_1933 <- mean(winter_1933$mean, na.rm = TRUE)
print(mean_1933)
## [1] -3.233333
mean_1934 <- mean(winter_1934$mean, na.rm = TRUE)
print(mean_1934)
## [1] -3.266667
mean_1935 <- mean(winter_1935$mean, na.rm = TRUE)
print(mean_1935)
## [1] -2.433333
mean_1936 <- mean(winter_1936$mean, na.rm = TRUE)
print(mean_1936)
## [1] -4.566667
mean_1937 <- mean(winter_1937$mean, na.rm = TRUE)
print(mean_1937)
## [1] -2.466667
mean_1938 <- mean(winter_1938$mean, na.rm = TRUE)
print(mean_1938)
## [1] -3.966667
mean_1939 <- mean(winter_1939$mean, na.rm = TRUE)
print(mean_1939)
## [1] -2.7
mean_1940 <- mean(winter_1940$mean, na.rm = TRUE)
print(mean_1940)
## [1] -3.3

1920년부터 1940년까지의 점그래프

past_mean_winter <- data.frame(
  year = c(1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940),
  mean_value = c(mean_1920, mean_1921, mean_1922, mean_1923, mean_1924, mean_1925, mean_1926, mean_1927, mean_1928, mean_1929, mean_1930, mean_1931, mean_1932, mean_1933, mean_1934, mean_1935, mean_1936, mean_1937, mean_1938, mean_1939, mean_1940)
)

ggplot(past_mean_winter, aes(x = year, y = mean_value)) +
  geom_line() +
  labs(
    title = "Mean Temperature Over Past Years",
    x = "Year",
    y = "Mean Temperature"
  )

=> 확실히 2000년부터 2020년까지의 겨울의 20년 온도변화차보다 1920년부터 1940년까지의 겨울의 20년 온도변화차가 더 작다. ( 겨울 온도변화차 : 2000-2020 > 1920-1940 )

즉, 이러한 그래프와 현상을 통해, 겨울의 온도변화차가 점점 갈수록 극심해지고 있다는걸 볼 수 있고, 이는 지구온난화, 기후위기문제와 매우 연관되어 있다고 확신할 수 있다.