Learn R Programming

GE (version 0.1.1)

gemStandardInputOutputTable_7_4: A General Equilibrium Model based on a 7x4 Standard Input-Output Table

Description

This is a general equilibrium model based on a 7x4 standard input-output table. There is no negative number in this standard input-output table, and both the input and output parts are 7x4 matrices. The standard input-output table consists of input and output parts with the same dimensions.

Usage

gemStandardInputOutputTable_7_4(
  IT,
  OT,
  es.agri = 0,
  es.manu = 0,
  es.serv = 0,
  es.hh = 0,
  es.VA.agri = 0.25,
  es.VA.manu = 0.5,
  es.VA.serv = 0.8,
  ...
)

Arguments

IT

the input part of the input-output table in the base period (unit: trillion yuan).

OT

the output part of the input-output table in the base period (unit: trillion yuan).

es.agri, es.manu, es.serv

the elasticity of substitution between the intermediate input and the value-added input of the agriculture sector, manufacturing sector and service sector.

es.hh

the elasticity of substitution among products consumed by the household sector.

es.VA.agri, es.VA.manu, es.VA.serv

the elasticity of substitution between labor input and capital input of the agriculture sector, manufacturing sector and service sector.

...

arguments to be transferred to the function sdm of the package CGE.

Value

A general equilibrium, which is a list with the following elements:

  • p - the price vector with labor as numeraire.

  • D - the demand matrix, also called the input table. Wherein the benchmark prices are used.

  • DV - the demand value matrix, also called the value input table. Wherein the current price is used.

  • SV - the supply value matrix, also called the value output table. Wherein the current price is used.

  • value.added - the value-added of the three production sectors.

  • dstl - the demand structure tree list of sectors.

  • ... - some elements returned by the CGE::sdm function

Details

Given a 7x4 input-output table, this model calculates the corresponding general equilibrium. This input-output table contains 3 production sectors and 1 household. The household consumes products and supplies labor, capital, stock and tax receipt. Generally speaking, the value of the elasticity of substitution in this model should be between 0 and 1.

See Also

gemInputOutputTable_7_4

Examples

Run this code
# NOT RUN {
IT2017 <- matrix(c(
  1.47, 6.47, 0.57, 2.51,
  2.18, 76.32, 12.83, 44.20,
  0.82, 19.47, 23.33, 35.61,
  6.53, 13.92, 21.88, 0,
  0.23, 4.05, 6.76, 0,
  0, 6.43, 3.40, 0,
  0.13, 8.87, 10.46, 0
), 7, 4, TRUE)

OT2017 <- matrix(c(
  11.02, 0, 0, 0,
  0, 135.53, 0, 0,
  0, 0, 79.23, 0,
  0, 0, 0, 42.33,
  0, 0, 0, 11.04,
  0.34, 0, 0, 9.49,
  0, 0, 0, 19.46
), 7, 4, TRUE)

rownames(IT2017) <- rownames(OT2017) <-
  c("agri", "manu", "serv", "lab", "cap", "tax", "dividend")
colnames(IT2017) <- colnames(OT2017) <-
  c("sector.agri", "sector.manu", "sector.serv", "sector.hh")

ge <- gemStandardInputOutputTable_7_4(
  IT = IT2017,
  OT = OT2017
)



#### labor supply reduction
OTLSR <- OT2017
OTLSR["lab", "sector.hh"] <- OTLSR["lab", "sector.hh"] * 0.9
geLSR <- gemStandardInputOutputTable_7_4(
  IT = IT2017,
  OT = OTLSR
)

geLSR$z / ge$z
geLSR$p / ge$p

#### capital accumulation
OTCA <- OT2017
OTCA["cap", "sector.hh"] <- OTCA["cap", "sector.hh"] * 1.1
geCA <- gemStandardInputOutputTable_7_4(
  IT = IT2017,
  OT = OTCA
)

geCA$z / ge$z
geCA$p / ge$p

#### technology progress
IT.TP <- IT2017
IT.TP ["lab", "sector.manu"] <-
  IT.TP ["lab", "sector.manu"] * 0.9

geTP <- gemStandardInputOutputTable_7_4(
  IT = IT.TP,
  OT = OT2017
)

geTP$z / ge$z
geTP$p / ge$p

##
IT.TP2 <- IT.TP
IT.TP2 ["cap", "sector.manu"] <-
  IT.TP2["cap", "sector.manu"] * 1.02
geTP2 <- gemStandardInputOutputTable_7_4(
  IT = IT.TP2,
  OT = OT2017
)

geTP2$z / ge$z
geTP2$p / ge$p

##
IT.TP3 <- IT2017
IT.TP3 ["lab", "sector.manu"] <-
  IT.TP3 ["lab", "sector.manu"] * 0.9
IT.TP3 ["lab", "sector.agri"] <-
  IT.TP3 ["lab", "sector.agri"] * 0.8

geTP3 <- gemStandardInputOutputTable_7_4(
  IT = IT.TP3,
  OT = OT2017
)

geTP3$value.added / ge$value.added
prop.table(geTP3$value.added) - prop.table(ge$value.added)

#### demand structure change
IT.DSC <- IT2017
IT.DSC["serv", "sector.hh"] <- IT.DSC ["serv", "sector.hh"] * 1.2

geDSC <- gemStandardInputOutputTable_7_4(
  IT = IT.DSC,
  OT = OT2017
)

geDSC$z[1:3] / ge$z[1:3]
geDSC$p / ge$p

#### tax change
OT.TC <- OT2017
OT.TC["tax", "sector.agri"] <- OT.TC["tax", "sector.agri"] * 2

geTC <- gemStandardInputOutputTable_7_4(
  IT = IT2017,
  OT = OT.TC
)

geTC$z / ge$z
geTC$p / ge$p

##
IT.TC2 <- IT2017
IT.TC2["tax", "sector.manu"] <- IT.TC2["tax", "sector.manu"] * 0.8

geTC2 <- gemStandardInputOutputTable_7_4(
  IT = IT.TC2,
  OT = OT2017
)

geTC2$z / ge$z
geTC2$p / ge$p
# }

Run the code above in your browser using DataLab