When the final demand matrix changes from Y to Y_prime, this function calculates new resource (R_prime), use (U_prime), feed (U_feed), energy industry own use (U_eiou), ratio (r_eiou), and make (V_prime) matrices that would be required to meet the new final demand (Y_prime).
Usage
new_Y(
.sutmats = NULL,
Y_prime = "Y_prime",
L_ixp = "L_ixp",
L_pxp = "L_pxp",
Z = "Z",
Z_feed = "Z_feed",
D = "D",
O = "O",
R_prime = "R_prime",
U_prime = "U_prime",
U_feed_prime = "U_feed_prime",
U_eiou_prime = "U_EIOU_prime",
r_eiou_prime = "r_EIOU_prime",
V_prime = "V_prime"
)
Arguments
- .sutmats
A data frame of supply-use table matrices with matrices arranged in columns.
- Y_prime
A new final demand matrix or name of a column in
.sutmats
containing same. Default is "Y_prime".- L_ixp, L_pxp, Z, Z_feed, D, O
Input matrices that describe the structure of the energy conversion chain. Values can be string names (the default) for columns in a data frame
.sutmats
or names of items in a list.sutmats
- R_prime, U_prime, U_feed_prime, U_eiou_prime, r_eiou_prime, V_prime
The new names for new matrices. Defaults are each argument name as a string.
Value
A list or data frame containing R_prime, U_prime, U_feed, U_eiou, r_eiou, and V_prime matrices.
Details
Note that inputs L_ixp, L_pxp,
Z, and D can be
conveniently calculated by the function calc_io_mats()
.
Internally, this function uses matsindf::matsindf_apply()
,
and documentation assumes that
.sutmats
is not NULL
and is a data frame.
But .sutmats
can also be a named list of matrices.
Or matrices can be supplied individually to the
Y_prime
, L_ixp
, L_pxp
, Z
, Z_feed
, D
, and O
arguments.
If .sutmats
is present, output is a data frame with columns named by string values of output arguments, and
input arguments should be character strings that name columns in .sutmats
.
If .sutmats
is NULL
(the default), output is a list with items named by output strings,
and input arguments should be single matrices or vectors.
Examples
library(dplyr)
library(matsbyname)
library(tidyr)
UKEnergy2000mats %>%
spread(key = matrix.name, value = matrix) %>%
select(Country, Year, Energy.type, Last.stage, R, U, U_feed, V, Y, r_EIOU, S_units) %>%
calc_io_mats() %>%
mutate(
# Give new Y matrices that are double the existing Y matrices
Y_prime = matsbyname::hadamardproduct_byname(2, Y)
) %>%
# Should give U_prime and V_prime matrices that are double the existing U and V matrices
new_Y()
#> # A tibble: 4 × 38
#> Country Year Energy.type Last.stage R U U_feed V
#> <chr> <dbl> <chr> <chr> <list> <list> <list> <list>
#> 1 GBR 2000 E Final <dbl [2 × 2]> <dbl[…]> <dbl[…]> <dbl[…]>
#> 2 GBR 2000 E Services <dbl [2 × 2]> <dbl[…]> <dbl[…]> <dbl[…]>
#> 3 GBR 2000 E Useful <dbl [2 × 2]> <dbl[…]> <dbl[…]> <dbl[…]>
#> 4 GBR 2000 X Services <dbl [2 × 2]> <dbl[…]> <dbl[…]> <dbl[…]>
#> # ℹ 30 more variables: Y <list>, r_EIOU <list>, S_units <list>, y <list>,
#> # q <list>, f <list>, g <list>, h <list>, r <list>, W <list>, Z <list>,
#> # K <list>, C <list>, D <list>, A <list>, O <list>, L_pxp <list>,
#> # L_ixp <list>, Z_feed <list>, K_feed <list>, A_feed <list>,
#> # L_pxp_feed <list>, L_ixp_feed <list>, Y_prime <list>, R_prime <list>,
#> # U_prime <list>, U_feed_prime <list>, U_EIOU_prime <list>,
#> # r_EIOU_prime <list>, V_prime <list>