2007~2020 年税调企业碳排放面板数据

今天给大家分享一份 2007~2020 年税调企业碳排放面板数据。该数据基于全国税收调查数据(税调)中的企业层面能源消费信息,采用排放因子法直接估算各税调企业的碳排放量。

该碳排放测算方法来自吴超鹏等(2025)发表于《中国工业经济》的论文《高管股权激励与企业碳排放:绿色发展背景下的企业激励机制研究》。论文原文中对碳排放测算方法的描述(第144页脚注②)如下:

本文的碳排放量指标参考现有文献(Lee et al., 2022; 周泽将等, 2022)的做法,根据全国税收调查数据中的企业用电量、煤炭、石油和天然气的消费量数据,利用排放系数法计算得到。

排放系数

论文中使用的各能源品种碳排放系数如下:

能源品种 碳排放系数 消费量单位
电力 7.5 吨CO2/万千瓦时 万千瓦时
煤炭 1.89 吨CO2/吨 吨
石油 3.02 吨CO2/吨 吨
天然气 21.68 吨CO2/万标立方米 万标立方米

碳排放量的计算公式为:

其中 E 为各能源的消费量,α 为对应的碳排放系数。

数据处理流程

整个测算流程分为以下几个步骤:

  1. 读取税调企业能源消费数据(2007~2020 年各税调企业电力、煤炭、燃油、天然气消费量面板数据)
  2. 根据上述排放系数计算各税调企业的碳排放量(消费量 × 碳排放系数)
  3. 对税调企业层面的碳排放进行缩尾处理(1% 和 99% 分位数)
  4. 从 sdid 中提取年份信息,计算对数和反双曲正弦变换变量
  5. 生成最终的税调企业碳排放面板数据

具体的处理过程可以参考下面两个课程:

数据概览

该数据为税调企业层面的碳排放面板数据(2007~2020 年),包含以下变量:

  • sdid:税调企业 ID
  • 年份:观测年份
  • total_co2_ton:总碳排放量(吨 CO2)
  • ln_total_co2:总碳排放量加 1 取自然对数
  • asinh_total_co2:总碳排放量的反双曲正弦变换
  • total_co2_ton_winsor:缩尾处理后的总碳排放量(吨 CO2)
  • ln_total_co2_winsor:缩尾后总碳排放量加 1 取自然对数
  • asinh_total_co2_winsor:缩尾后总碳排放量的反双曲正弦变换
  • electricity_co2:电力消费产生的碳排放量(吨 CO2)
  • coal_co2:煤炭消费产生的碳排放量(吨 CO2)
  • oil_co2:石油消费产生的碳排放量(吨 CO2)
  • gas_co2:天然气消费产生的碳排放量(吨 CO2)
  • 各能源消费量(电力:万千瓦时;煤炭、石油:吨;天然气:万标立方米)
  • 其他气体燃料_万标立方米:其他气体燃料消费量

数据预览如下:

图表展示

下图展示了 2007~2020 年税调企业平均碳排放量的时间趋势:

下图展示了税调企业碳排放量的分布情况:

下图展示了税调企业各能源碳排放的结构:

处理代码

下面展示使用 R 语言计算税调企业碳排放的核心代码:

#- 加载包
library(haven)
library(dplyr)
library(tidyr)
library(labelled)

#- 读取税调企业能源消费数据
energy_data <- read_dta("2007~2020年各税调企业电力、煤炭、燃油、天然气消费量面板数据.dta")

#- 定义排放系数
ELECTRICITY_EMISSION_FACTOR <- 7.5 # 电力:7.5 吨CO2/万千瓦时
COAL_EMISSION_FACTOR <- 1.89 # 煤炭:1.89 吨CO2/吨
OIL_EMISSION_FACTOR <- 3.02 # 石油:3.02 吨CO2/吨
GAS_EMISSION_FACTOR <- 21.68 # 天然气:21.68 吨CO2/万标立方米

#- 计算各税调企业的碳排放量
carbon_emission <- energy_data %>%
mutate(
electricity_co2 = `电力消费量_万千瓦时` * ELECTRICITY_EMISSION_FACTOR,
coal_co2 = `煤炭消费量_吨` * COAL_EMISSION_FACTOR,
oil_co2 = `油消费量_吨` * OIL_EMISSION_FACTOR,
gas_co2 = `天然气_万标立方米` * GAS_EMISSION_FACTOR,
total_co2_ton = coal_co2 + oil_co2 + gas_co2 + electricity_co2
)

#- 缩尾处理(1%和99%分位数)
q01 <- quantile(carbon_emission$total_co2_ton, 0.01, na.rm = TRUE)
q99 <- quantile(carbon_emission$total_co2_ton, 0.99, na.rm = TRUE)
carbon_emission <- carbon_emission %>%
mutate(
total_co2_ton_winsor = ifelse(
total_co2_ton < q01, q01,
ifelse(total_co2_ton > q99, q99, total_co2_ton)
)
)

#- 从 sdid 提取年份并计算变换变量
carbon_emission <- carbon_emission %>%
mutate(
年份 = as.integer(substr(sdid, 1, 4)),
ln_total_co2 = log(total_co2_ton + 1),
ln_total_co2_winsor = log(total_co2_ton_winsor + 1),
asinh_total_co2 = asinh(total_co2_ton),
asinh_total_co2_winsor = asinh(total_co2_ton_winsor)
)

#- 保存结果
write_dta(carbon_emission, "2007~2020年税调企业碳排放面板数据.dta")

附件中也提供了该数据的处理代码供参考:

数据引用格式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 2007~2020年税调企业碳排放面板数据. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: Panel Data on Carbon Emissions of Tax Survey Enterprises, 2007–2020. 2026. https://tidyfriday.cn/rsdb2/

关联课程/数据推荐

使用 R 语言根据上市公司及其子公司与税调匹配结果测算碳排放:https://rstata.duanshu.com/#/brief/course/ea0800997ef64c9eb7b8f3fd0afc90bd

使用 Stata 根据上市公司及其子公司与税调匹配结果测算碳排放:https://rstata.duanshu.com/#/brief/course/5c429d45eec847feb0153d439f72108e

使用 Python 根据上市公司及其子公司与税调匹配结果测算碳排放:https://rstata.duanshu.com/#/brief/course/4f17013021be4a2d88a310ad6fbceb98

2007~2020 年税调与上市公司匹配结果:https://rstata.duanshu.com/#/course/e653ffbc045a46c098409df647415f9a

中国各省市碳排放量是如何计算的?R 语言栅格数据转面板数据:https://rstata.duanshu.com/#/course/75de598dcfcc4ad0b9ff28bff27f6b83

点击这里跳转到 RStata 短书平台获取附件:2007~2020 年税调企业碳排放面板数据

评论