投稿问答最小化  关闭

万维书刊APP下载

两行代码计算内循环

2023/1/6 8:41:03  阅读:131 发布者:

1.引言

两行代码计算内循环指的是如果数据全部准备好,仅需两行代码即可计算内循环。本代码计算的依据基于陈普和傅元海(2022),该文提供了计算的R包,本推文详列其计算细节。

2.数据准备

我们以WIOD的投入产出表数据为例进行计算。这个表下载地址为https://www.rug.nl/ggdc/valuechain/wiod/wiod-2016-release,可以直接下载它的R语言数据存储格式。

整体的计算思路如下:

1.调用decompr包的load_tables_vectors函数获得基本的计算构件。

2.基于第一步的计算返回值,调用MeasureGVC包的partici_idx函数计算内循环。

先看第一步,decompr::load_tables_vectors函数的输入参数涉及中间投入矩阵、最终需求矩阵、国家名称、行业名称、总产出和增加值。因此我们要从下载的WIOD投入产出表中析出上述参数。先要载入你下载的R数据格式的投入产出数据,这里我载入的是它2014年的投入产出表。

# 这是我存储的地址,你应该换成你的

load('/Users/yangnay/WIOT2014_October16_ROW.RData')

# 载入数据处理的R

library(tidyverse)

然后获取国家名称、行业名称、总产出矩阵、增加值矩阵和中间投入矩阵。

cnts <- unique(wiot$Country)[-45] # 获取国家代码

indus <- wiot$IndustryDescription[1:56]# 获取行业名称

G <- length(cnts)

N <- length(indus)

out <-wiot$TOT[1:(G*N)] # 总产出矩阵

va <- select(wiot[wiot$IndustryCode == 'VA',],AUS1:ROW56) %>%as.numeric()# 增加值矩阵

z <- select(wiot[1:(G*N),],AUS1:ROW56) %>% as.matrix()# 获取中间投入矩阵

获取最终需求矩阵稍微费点事。因为WIOD投入产出表最终需求矩阵是每个国家有M个需求,这样G个国家就有GM个需求。但decompr::load_tables_vectors对最终需求矩阵只允许一个国家有一个需求,因此,我们要把每个国家的M个需求按行合并,变成一个国家一个最终需求。代码如下,

# 最终需求

ymed <- select(wiot[1:(G*N),],AUS57:ROW61)

ysum <- function(country){

  ans <- select(ymed, contains(country))%>% rowSums()

}

ans <- lapply(cnts,

ysum) %>% bind_cols()

names(ans) <- cnts

y <- as.matrix(ans)

3.两行代码算内循环

现在可以实现第一步计算,

wwz <- decompr::load_tables_vectors(x = z, y = y, k = cnts, i = indus, o = out, v = va)

然后安装并调用MearureGVC包实现第二步计算,其返回的up_inner列和dw_inner列分别为前向和后向内循环。

# devtools::install_github('common2016/MeasureGVC') # 安装MeasureGVC

inner <- MeasureGVC::partici_idx(wwz, 'inner')

head(inner)

## cnts                                                          

industry

## 1  AUS Crop

and animal production, hunting and related service activities

## 2  AUS                                              

Forestry and logging

## 3  AUS                                           

Fishing and aquaculture

## 4  AUS                                               Mining and

quarrying

## 5  AUS       Manufacture of food products, beverages

and tobacco products

## 6  AUS      Manufacture of textiles, wearing apparel

and leather products

##   

up_inner  dw_inner

## 1 0.6258223 0.7948065

## 2 0.6949013 0.7886054

## 3 0.7852634 0.6681390

## 4 0.1743278 0.8458341

## 5 0.6731612 0.5808510

## 6 0.5390635 0.5766894

参考文献

[1] 陈普,傅元海. 全球价值链视角下经济内循环测度与应用[J]. 统计研究, 2022, 39(11): 19-31.

转自:“香樟经济学术圈”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com