jiedian <- read.csv("E:\\e-program\\在用数据\\edata综合版-去掉金融业(least).csv")
eco <- read.csv("E:\\e-program\\在用数据\\经济数据-2.csv")
jiedian$年月 <-  seq(as.Date("2016-01-01"),length = 83,by = "1 month" )
eco$年月 <-  seq(as.Date("2016-01-01"),length = 83,by = "1 month" )
library(dplyr)
## Warning: 程辑包'dplyr'是用R版本4.2.1 来建造的
## 
## 载入程辑包:'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(pheatmap)
## Warning: 程辑包'pheatmap'是用R版本4.2.2 来建造的
library(tidyverse)
## Warning: 程辑包'tidyverse'是用R版本4.2.2 来建造的
## -- Attaching packages --------------------------------------- tidyverse 1.3.2 --
## v tibble  3.1.6     v purrr   0.3.5
## v tidyr   1.2.1     v stringr 1.4.1
## v readr   2.1.3     v forcats 0.5.2
## Warning: 程辑包'tidyr'是用R版本4.2.2 来建造的
## Warning: 程辑包'readr'是用R版本4.2.2 来建造的
## Warning: 程辑包'purrr'是用R版本4.2.2 来建造的
## Warning: 程辑包'stringr'是用R版本4.2.1 来建造的
## Warning: 程辑包'forcats'是用R版本4.2.2 来建造的
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(lubridate)
## Warning: 程辑包'lubridate'是用R版本4.2.2 来建造的
## 载入需要的程辑包:timechange
## Warning: 程辑包'timechange'是用R版本4.2.2 来建造的
## 
## 载入程辑包:'lubridate'
## 
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
data_classify <- function(data,i){
  a <- data %>%
    filter(`index1`==i) %>%
    select(`年月`,`业扩类型`,`接电容量`,`申请容量`,`一级行业`)
  return(a)
}
Eco_classify <- function(data,i){
  a <- data %>%
    filter(`index2`==i)%>%
    select(`年月`,`经济数值`,`经济指标`)
  return(a)
}
moving_cor <- function(start_date,data,window_length){
  data %>% 
    filter(between(`年月`,start_date-months(window_length),start_date+months(window_length))) %>%
    select(`接电容量`,`申请容量`,`业扩类型`,`经济数值`) %>%
    group_by(`业扩类型`) %>%
    summarise(
      `年月` = start_date,
      `业扩类型` = first(`业扩类型`),
      `接电相关系数`=cor(`接电容量`,`经济数值`),
      `申请相关系数`=cor(`申请容量`,`经济数值`))
}
mean_pearson_year <- function(data,year,window_length){
  start_date <- seq(as.Date("2016-06-01"),length = 78,by = "1 month" )
  b <- map_dfr(start_date,~(moving_cor(.x,data,window_length)))
  b$年月 <- year(b$年月)
  b %>% 
    filter(`年月`==year) %>%
    group_by(`业扩类型`)%>%
    summarise(
    `年份`=year,
    `业扩类型`=first(`业扩类型`),
    `接电相关系数均值`=mean(`接电相关系数`),
    `申请相关系数均值`=mean(`申请相关系数`)
   )
}
for(k in c(2016:2019)){
for(j in c(1:7)){
  q <- Eco_classify(eco,j)
  print(paste(k,"-",q$经济指标[1]))
  df <- data.frame()
  for(i in c(0:10)){
    df[c(1:6),i+1]<-mean_pearson_year(merge(data_classify(jiedian,i),q,by="年月",all=T),k,5)$接电相关系数均值
    df[c(7:12),i+1]<-mean_pearson_year(merge(data_classify(jiedian,i),q,by="年月",all=T),k,5)$申请相关系数均值
  }
  colnames(df)<-c("the whole society","agriculture .etc","industry",
                  "construction","transportation.etc","information.etc",
                  "wholesale&retail'","accommodation&catering",
                  "estate","leasing&business",
                  "Public Service.etc")
  rownames(df)<-c("New-installation(jie)","add-capacity(jie)","reduction(jie)","Close-account(jie)","pause(jie)","recovery(jie)",
                  "New-installation","add-capacity","reduction","Close-account","pause","recovery")
  pheatmap(df,cellheight=15,cellwidth=20,display_numbers = T,
           cluster_row =FALSE , cluster_cols = FALSE)
}
} 
## [1] "2016 - 亏损企业本月末(个)"

## [1] "2016 - 流动资产合计本月末(亿元)"

## [1] "2016 - 产成品本月末(亿元)"

## [1] "2016 - 资产总计本月末(亿元)"

## [1] "2016 - 负债合计本月末(亿元)"

## [1] "2016 - 利润总额(亿元)"

## [1] "2016 - 亏损企业亏损总额(亿元)"

## [1] "2017 - 亏损企业本月末(个)"

## [1] "2017 - 流动资产合计本月末(亿元)"

## [1] "2017 - 产成品本月末(亿元)"

## [1] "2017 - 资产总计本月末(亿元)"

## [1] "2017 - 负债合计本月末(亿元)"

## [1] "2017 - 利润总额(亿元)"

## [1] "2017 - 亏损企业亏损总额(亿元)"

## [1] "2018 - 亏损企业本月末(个)"

## [1] "2018 - 流动资产合计本月末(亿元)"

## [1] "2018 - 产成品本月末(亿元)"

## [1] "2018 - 资产总计本月末(亿元)"

## [1] "2018 - 负债合计本月末(亿元)"

## [1] "2018 - 利润总额(亿元)"

## [1] "2018 - 亏损企业亏损总额(亿元)"

## [1] "2019 - 亏损企业本月末(个)"

## [1] "2019 - 流动资产合计本月末(亿元)"

## [1] "2019 - 产成品本月末(亿元)"

## [1] "2019 - 资产总计本月末(亿元)"

## [1] "2019 - 负债合计本月末(亿元)"

## [1] "2019 - 利润总额(亿元)"

## [1] "2019 - 亏损企业亏损总额(亿元)"

for(k in c(2020:2022)){
for(j in c(1:7)){
  q <- Eco_classify(eco,j)
  print(paste(k,"-",q$经济指标[1]))
  df <- data.frame()
  for(i in c(0:10)){
    df[c(1:6),i+1]<-mean_pearson_year(merge(data_classify(jiedian,i),q,by="年月",all=T),k,5)$接电相关系数均值
    df[c(7:12),i+1]<-mean_pearson_year(merge(data_classify(jiedian,i),q,by="年月",all=T),k,5)$申请相关系数均值
  }
  colnames(df)<-c("the whole society","agriculture .etc","industry",
                  "construction","transportation.etc","information.etc",
                  "wholesale&retail'","accommodation&catering",
                  "estate","leasing&business",
                  "Public Service.etc")
  rownames(df)<-c("New-installation(jie)","add-capacity(jie)","reduction(jie)","Close-account(jie)","pause(jie)","recovery(jie)",
                  "New-installation","add-capacity","reduction","Close-account","pause","recovery")
  pheatmap(df,cellheight=15,cellwidth=20,display_numbers = T,
           cluster_row =FALSE , cluster_cols = FALSE)
}
} 
## [1] "2020 - 亏损企业本月末(个)"

## [1] "2020 - 流动资产合计本月末(亿元)"

## [1] "2020 - 产成品本月末(亿元)"

## [1] "2020 - 资产总计本月末(亿元)"

## [1] "2020 - 负债合计本月末(亿元)"

## [1] "2020 - 利润总额(亿元)"

## [1] "2020 - 亏损企业亏损总额(亿元)"

## [1] "2021 - 亏损企业本月末(个)"

## [1] "2021 - 流动资产合计本月末(亿元)"

## [1] "2021 - 产成品本月末(亿元)"

## [1] "2021 - 资产总计本月末(亿元)"

## [1] "2021 - 负债合计本月末(亿元)"

## [1] "2021 - 利润总额(亿元)"

## [1] "2021 - 亏损企业亏损总额(亿元)"

## [1] "2022 - 亏损企业本月末(个)"

## [1] "2022 - 流动资产合计本月末(亿元)"

## [1] "2022 - 产成品本月末(亿元)"

## [1] "2022 - 资产总计本月末(亿元)"

## [1] "2022 - 负债合计本月末(亿元)"

## [1] "2022 - 利润总额(亿元)"

## [1] "2022 - 亏损企业亏损总额(亿元)"