From fbac63d99c77367f38408b2fb028f274ece2e2ff Mon Sep 17 00:00:00 2001 From: jdhoffa Date: Thu, 25 Jan 2024 12:22:40 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20RMI-PACT?= =?UTF-8?q?A/r2dii.analysis@abc869ce8e07b0c52b4d327ebbd092e8c44b7692=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/apple-touch-icon-120x120.png | Bin 3287 -> 3287 bytes dev/apple-touch-icon-152x152.png | Bin 4250 -> 4250 bytes dev/apple-touch-icon-180x180.png | Bin 4997 -> 4997 bytes dev/apple-touch-icon-60x60.png | Bin 1741 -> 1741 bytes dev/apple-touch-icon-76x76.png | Bin 2177 -> 2177 bytes dev/apple-touch-icon.png | Bin 4997 -> 4997 bytes dev/articles/r2dii-analysis.html | 2 +- .../figure-html/trajetory-portfolio-1.png | Bin 106274 -> 105957 bytes dev/favicon-16x16.png | Bin 777 -> 777 bytes dev/favicon-32x32.png | Bin 1355 -> 1355 bytes dev/pkgdown.yml | 2 +- dev/search.json | 2 +- 12 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/apple-touch-icon-120x120.png b/dev/apple-touch-icon-120x120.png index c009c33d6b4f0bc3334f71c8d0a6f13fef08fe55..d2e32e35c503585435e0938d84813142b0042f9b 100644 GIT binary patch delta 94 zcmcaEd0lcs6^A5`sMS5eBN`i<7I3>6nT8k|Ss58xnObNY7+4t?NO=6)#lXOzTH+c} jl9E`GYL%Oxl9^V?U}RuqqHAENi=iP?)QxR&22VZ!K>Qk6 delta 94 zcmcaEd0lcs6$d8|k9ffKv|AgS7I3>6ScVuHSpkuev9^JMm4ShvqiqNS1A}UbYeY#( hVo9o1ZhlH;S|x*#fsu)>fuSyjh6I_`7n3u1@&Ou98ixP? diff --git a/dev/apple-touch-icon-152x152.png b/dev/apple-touch-icon-152x152.png index 7eed529096b2432c3c4cb305b40805b126ef898d..323eae215510eb413cca8bb62e87a6bcbc6540e1 100644 GIT binary patch delta 71 zcmbQGI7@Lt6^A5`sP#&*FZ(t&CG(3KnT8k|Ss58xnObTa7+4t??6d#MH~AO845rNa LB;QSwwFUA46tNX^ delta 71 zcmbQGI7@Lt6$d8|kHmqDYVVCr$^4=QmLY~lRzPHAqHSPcWnggS8S|~lzxZV^WtQ&V Koi%}>cpt7I@TFf!3KFx17+@Kbj$+hj4}d;pRf7}o#* delta 94 zcmZowZ&jaA#lgwLBe^}_`|idjKOr{*%Me2&D<8c~vx hSdwa$o1c=IR>@#wU}U0eV5p0sf%(jaOOwTf^8xOy8dLxP diff --git a/dev/apple-touch-icon-60x60.png b/dev/apple-touch-icon-60x60.png index d3d8ecca07a0c036cd9ebc4693a2238a11c837ca..f9d098ddfba6cfdc763da7f438cac0753d4088f0 100644 GIT binary patch delta 71 zcmX@hdzN=X6^A5`sD*+2QkIQP(^y4~OhXKftc(n;OwF_n46F0|ScVuHSpkuefwqBxm4Si6O7)YIb=hPvWdgs< KFP$96mJa~&VHAh} diff --git a/dev/apple-touch-icon-76x76.png b/dev/apple-touch-icon-76x76.png index a7d91495689b231875381f69eb73d8c8385ce8d6..d0a3b16d71ad026219039c086325e5d14fe8c954 100644 GIT binary patch delta 71 zcmZn^Y!sYO#UaTfYUwU9b<)NrFLqHQ(-1==DRcYb4&pOBl8X^5ebm64H^fuXj6ft7)Q9y=c&0|SFRc?MtW?ChKk%5tku7RO0hKBg4ZJQ>G3FiXLoad your r2dii libraries
 library(tidyverse)
 #> ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
-#>  dplyr     1.1.4      readr     2.1.4
+#>  dplyr     1.1.4      readr     2.1.5
 #>  forcats   1.0.0      stringr   1.5.1
 #>  ggplot2   3.4.4      tibble    3.2.1
 #>  lubridate 1.9.3      tidyr     1.3.0
diff --git a/dev/articles/r2dii-analysis_files/figure-html/trajetory-portfolio-1.png b/dev/articles/r2dii-analysis_files/figure-html/trajetory-portfolio-1.png
index 1d52b0b4f40452788a265bb74ab136b4a2b391c6..446f526852e62069ce6cd1994ed7838c7e7f9ff0 100644
GIT binary patch
delta 68242
zcma&O1yohtyDy9&A*G0vlmgNvAR%P{qEbpXNC?8FyB3Nxf*{f%t#o&9x;hPMjvpDTd+UWBo#}lku##4JI?qZU0
z)-4q99~MZw%n$yNHZJm$X!O4|Lc5_ErTJFvm9w=_TJvH!S)`)c4{lWn2?ox2^eNrT
zKapr!w%w1yBO{sYWjs8@$|h{^j;0}TN`7YBv%6K4EOtiRkYSMY%MCjAkDt
zfsFx4r9S=db!&&J_^`%-!)qqZMt8`
zi&qKX-%k%EqJLL>)P=x1HNkVb!9=_?zHx`Cal$0ad#>>vl|$>TYz+ws!~OPhPshvi
zla0{=FXb#1>+PDOuy5Z6*B>_MeWkrvd4Z;7*DvW+Bk}JogKj^hE5_8kalQH&Lu~w0
z&SzwUPDr3{MHI_{NJ*8)J1GlbyHVPkt$k
z#A#)<(M-{|sDCXu;2LFCG{(Zoyv2u>lbWxjpNj@5dyXUg{8C@HDDSAKsQj7S_J|~5
zQ_0syVjXTz_uhn#pBwkYMUOJw!kIa68LM*S>Wt))$5+uTHIHu8{(Ey2kAl>UEHvw1
zX!Zq)f7LR|?KVzX`OIBboPWocetzm%fS+HG6NPF6UVr8UrDb&}cv=tKyCy1Z$Euxe
zp+w)J_O>6mI`CUjtl|&)9dsQqqE9Lm>RWicp=;w{S+Rad{f4Z%o%Es_MFbcRxFv-E|@tc3@Xb
zm(f4nUyXAZH)YwrVMLCV==SHvEd)hU=FF`8wLJLP7_tuXnc$Vq-7LP1bG(DCal;!G
zCdi``tr=lbqVQHJKv6$8H4a^eDAcaw*i(R-y|Z!E?j1Rnu;bQ3c2Uo(qcA9y4A%*q
z2MGpVwPTE&V^np)R7KA9=k1>>6ryl!J5#<_NTvxEX?a!a5GjB=3)A_K`THh+?3c>Q
z$AnaZ^=I34dH;3nPC4!n_N|#UtUJz|*&2|C>V&Y6YfAq+$NhPdMwLYhVBdzn#k3R`
zJzYuBa-6i+vVs~g&BqEKOm>Fq{QUIy`1;@>`F2hwi(4+&a~v%iMn6d?Td1>l*$XL0
zvmyOi!Nm@+7+_2(FgN9DR~^rI-Q<=nl5geIsdlO#DPs@pIkH4T8xF$r9W9E=Z)BZcVj49s;@UpIV4fi%
zdYKV~?{u^=hOAgl2pn189NGPK8p_c*H|4s$xK*`n+#EnMVTB}6QdZV48hdNw@sb*>
zCivm8WB-(dmgC`Ay!ojPbCAzvqN+Uq^IFFZCDmc>TyrXQLi>SlGVm2K#Pe{@K%yS!
zg7d8*Om}b(&ZvGJhi=zhdC-NLSZ3R=4_nXFUqhoJ#J0D$Uszl`a0wQ5J;ZmS4x{?7
zkBY*lmod}C%c(U%c`FEx&es~)v?yq+Kev~Br2L(@t-GDN@p}M17W~_*;nuVSSNj>_
zvY)F|b(|kepG_V8{P~j{`ja_UwOt!)B{*SJrBCjk|F48fF%I&W;yLZMpih>1h9r!0
z3R0;DanZ`#H($?WV^Yvk!(Yi2htKyHP}9J+e2FF}yvgUW8>pL_L){3@7PgWkJN!84
zqMPV$eLya+_c=7IIg?78z7ZPwKBS~7_oL8`iqO{p!Wm%&zm@W`1+yBuSl7K)esPEz
z9A9_XTk1BgDuwsBAAYSggG5%{gZ|e7w^u9b=`Ce+l0z(%B}s(F41BE8z{`1JjI`=w
z
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 A_W%F@ delta 68561 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 ADF6Tf diff --git a/dev/favicon-16x16.png b/dev/favicon-16x16.png index 96839822a6bd91bb3e35fa3ab3448914a3ac8053..94005030a5f2829b54b22a64ba4e6622ac639700 100644 GIT binary patch delta 72 zcmeBV>tx%ohmk{)M~v-O@avq(M;IrF8kvR|8d(_`Ss9pV8yHv_7`$F!&@efZNd{A9 M*53}B$+MX90T!thy8r+H delta 72 zcmeBV>tx%ohmnJmhetk+=iQ6RM;IrF8d!!H8d(96v7xqsft7)QSBcK!$(c+tm@?Ly LQ{pGjV#)^q?T8ct diff --git a/dev/favicon-32x32.png b/dev/favicon-32x32.png index 6913b6b7ca770253dc0121f2dc9f47852c28980a..1aaec5ec67f017727731e77b5ac974728844e3bb 100644 GIT binary patch delta 73 zcmX@jb((8K05gXqj~M&fklVjDM=;wliW-@Q7#dj_8Ce;aYa19?85sCpw>Fu)nneav N#-^*eWAYuAd;kb=6zu>2 delta 73 zcmX@jb((8K05bK7y2-0qWH4p8 M4)z_Ie1|0;02NmifB*mh diff --git a/dev/pkgdown.yml b/dev/pkgdown.yml index b4d35805..21bb5156 100644 --- a/dev/pkgdown.yml +++ b/dev/pkgdown.yml @@ -6,7 +6,7 @@ articles: r2dii-analysis: r2dii-analysis.html target-market-share: target-market-share.html target-sda: target-sda.html -last_built: 2024-01-09T12:12Z +last_built: 2024-01-25T12:22Z urls: reference: https://rmi-pacta.github.io/r2dii.analysis/reference article: https://rmi-pacta.github.io/r2dii.analysis/articles diff --git a/dev/search.json b/dev/search.json index 810b058a..aadc120c 100644 --- a/dev/search.json +++ b/dev/search.json @@ -1 +1 @@ -[{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 Rocky Mountain Institute Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/production-percent-change.html","id":"weighted-production","dir":"Articles","previous_headings":"","what":"Weighted Production","title":"Indicator Choices:","text":"intents purposes, recommend calculating targets using loan weighted production indicator. particular, define loan weighted production given company, \\(j\\) : \\[ \\overline{p}_{,j}(t) = p_{,j}(t) * \\dfrac{l_j}{\\sum_j l_j}\\] \\(p_{,j}\\) production company \\(\\) technology \\(j\\) \\(l_j\\) loan given company \\(j\\). calculate portfolio targets, aggregate value summing every company portfolio: \\[ \\overline{p}_i (t) = \\sum_j \\left[ p_{,j}(t) * \\dfrac{l_j}{\\sum_j l_j} \\right] \\] Effectively, loan-weighted average production attributed company portfolio. significant result indicator choice small companies (little production) favorably weighted, given loan company sufficiently large. can useful reflect large investments green start-ups. calculate weighted production:","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) master <- loanbook_demo %>% match_name(abcd_demo) %>% prioritize() %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) summarize_weighted_production(master) #> # A tibble: 66 × 5 #> sector_abcd technology year weighted_production weighted_technology_share #> #> 1 automotive electric 2020 973775. 0.114 #> 2 automotive electric 2021 1018967. 0.118 #> 3 automotive electric 2022 1064159. 0.122 #> 4 automotive electric 2023 1109351. 0.126 #> 5 automotive electric 2024 1154543. 0.130 #> 6 automotive electric 2025 1199735. 0.133 #> 7 automotive hybrid 2020 1886042. 0.221 #> 8 automotive hybrid 2021 1709634. 0.198 #> 9 automotive hybrid 2022 1533226. 0.176 #> 10 automotive hybrid 2023 1356819. 0.154 #> # ℹ 56 more rows"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/production-percent-change.html","id":"weighted-percent-change-in-production","dir":"Articles","previous_headings":"","what":"Weighted Percent Change in Production","title":"Indicator Choices:","text":"-hand, ’re keen understand large corporations portfolio planning make significant changes, percent change production may useful indicator. company, define percent change, \\(\\chi_i(t)\\), compared start year, \\(t_0\\): \\[ \\chi_i(t) = \\dfrac{p_{}(t)-p_{}(t_0)}{p_i(t_0)} * 100\\] \\(p_i(t)\\) indicator (production capacity) technology \\(\\), \\(t0\\) start year analysis. aggregate percent-change production company portfolio-level, using loan-weighted average . particular, loan \\(l_j\\) company \\(j\\), : \\[ \\overline{\\chi_i} = \\sum_j \\left[ \\chi_{,j} * \\dfrac{l_j}{\\sum_j l_j} \\right]\\] noted percent change, \\(\\chi\\), undefined 0 initial production. Intuitively, makes sense, since require “infinite percent” build-grow anything 0. reason, company 0 initial production filtered prior calculating percent change indicator. calculate weighted percent change:","code":"# using the master dataset defined in the previous chunk: summarize_weighted_percent_change(master) #> # A tibble: 66 × 4 #> sector_abcd technology year weighted_percent_change #> #> 1 automotive electric 2020 0 #> 2 automotive electric 2021 0.0881 #> 3 automotive electric 2022 0.176 #> 4 automotive electric 2023 0.264 #> 5 automotive electric 2024 0.352 #> 6 automotive electric 2025 0.440 #> 7 automotive hybrid 2020 1.78 #> 8 automotive hybrid 2021 1.43 #> 9 automotive hybrid 2022 1.09 #> 10 automotive hybrid 2023 0.747 #> # ℹ 56 more rows"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"load-your-r2dii-libraries","dir":"Articles","previous_headings":"","what":"Load your r2dii libraries","title":"Introduction to r2dii.analysis","text":"first step analysis load recommended r2dii packages current R session. r2dii.data includes fake data help demonstrate tool r2dii.match provides functions help easily match loanbook asset-level data. plot results, may also load package r2dii.plot. also recommend packages tidyverse; optional useful.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) library(r2dii.plot) library(tidyverse) #> ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ── #> ✔ dplyr 1.1.4 ✔ readr 2.1.4 #> ✔ forcats 1.0.0 ✔ stringr 1.5.1 #> ✔ ggplot2 3.4.4 ✔ tibble 3.2.1 #> ✔ lubridate 1.9.3 ✔ tidyr 1.3.0 #> ✔ purrr 1.0.2 #> ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ── #> ✖ dplyr::filter() masks stats::filter() #> ✖ dplyr::lag() masks stats::lag() #> ℹ Use the conflicted package () to force all conflicts to become errors"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"match-your-loanbook-to-climate-related-asset-level-data","dir":"Articles","previous_headings":"","what":"Match your loanbook to climate-related asset-level data","title":"Introduction to r2dii.analysis","text":"See r2dii.match complete description process.","code":"# Use these datasets to practice but eventually you should use your own data. # The optional syntax `package::data` is to clarify where the data comes from. loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , …"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"calculate-targets","dir":"Articles","previous_headings":"","what":"Calculate targets","title":"Introduction to r2dii.analysis","text":"can calculate scenario targets using two different approaches: Market Share Approach, Sectoral Decarbonization Approach.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-approach","dir":"Articles","previous_headings":"Calculate targets","what":"Market Share Approach","title":"Introduction to r2dii.analysis","text":"Market Share Approach used calculate scenario targets production technology sector. example, can use approach set targets production electric vehicles automotive sector. approach recommended sectors granular technology scenario roadmap exists. Targets can set portfolio level: company level:","code":"# Use these datasets to practice but eventually you should use your own data. scenario <- r2dii.data::scenario_demo_2020 regions <- r2dii.data::region_isos_demo market_share_targets_portfolio <- matched %>% target_market_share( abcd = abcd, scenario = scenario, region_isos = regions ) market_share_targets_portfolio #> # A tibble: 792 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 324592. #> 2 automotive electric 2020 global demo_2020 target_cps 324592. #> 3 automotive electric 2020 global demo_2020 target_sds 324592. #> 4 automotive electric 2020 global demo_2020 target_sps 324592. #> 5 automotive electric 2021 global demo_2020 projected 339656. #> 6 automotive electric 2021 global demo_2020 target_cps 329191. #> 7 automotive electric 2021 global demo_2020 target_sds 352505. #> 8 automotive electric 2021 global demo_2020 target_sps 330435. #> 9 automotive electric 2022 global demo_2020 projected 354720. #> 10 automotive electric 2022 global demo_2020 target_cps 333693. #> # ℹ 782 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope market_share_targets_company <- matched %>% target_market_share( abcd = abcd, scenario = scenario, region_isos = regions, # Output results at company-level. by_company = TRUE ) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? market_share_targets_company #> # A tibble: 12,140 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 Bernardi… proje… 324592. #> 2 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 3 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 4 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 5 automoti… electric 2021 global demo_2020 Bernardi… proje… 339656. #> 6 automoti… electric 2021 global demo_2020 Bernardi… targe… 329191. #> 7 automoti… electric 2021 global demo_2020 Bernardi… targe… 352505. #> 8 automoti… electric 2021 global demo_2020 Bernardi… targe… 330435. #> 9 automoti… electric 2022 global demo_2020 Bernardi… proje… 354720. #> 10 automoti… electric 2022 global demo_2020 Bernardi… targe… 333693. #> # ℹ 12,130 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"sectoral-decarbonization-approach","dir":"Articles","previous_headings":"Calculate targets","what":"Sectoral Decarbonization Approach","title":"Introduction to r2dii.analysis","text":"Sectoral Decarbonization Approach used calculate scenario targets emission_factor sector. example, can use approach set targets average emission factor cement sector. approach recommended sectors lacking technology roadmaps.","code":"# Use this dataset to practice but eventually you should use your own data. co2 <- r2dii.data::co2_intensity_scenario_demo sda_targets <- matched %>% target_sda(abcd = abcd, co2_intensity_scenario = co2, region_isos = regions) %>% filter(sector == \"cement\", year >= 2020) #> Warning: Removing rows in abcd where `emission_factor` is NA sda_targets #> # A tibble: 110 × 6 #> sector year region scenario_source emission_factor_metric #> #> 1 cement 2020 advanced economies demo_2020 projected #> 2 cement 2020 developing asia demo_2020 projected #> 3 cement 2020 global demo_2020 projected #> 4 cement 2021 advanced economies demo_2020 projected #> 5 cement 2021 developing asia demo_2020 projected #> 6 cement 2021 global demo_2020 projected #> 7 cement 2022 advanced economies demo_2020 projected #> 8 cement 2022 developing asia demo_2020 projected #> 9 cement 2022 global demo_2020 projected #> 10 cement 2023 advanced economies demo_2020 projected #> # ℹ 100 more rows #> # ℹ 1 more variable: emission_factor_value "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"visualization","dir":"Articles","previous_headings":"","what":"Visualization","title":"Introduction to r2dii.analysis","text":"large variety possible visualizations stemming outputs target_market_share() target_sda(). , highlight couple common plots can easily created using r2dii.plot package.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-sector-level-technology-mix","dir":"Articles","previous_headings":"Visualization","what":"Market Share: Sector-level technology mix","title":"Introduction to r2dii.analysis","text":"market share output, can plot portfolio’s exposure various climate sensitive technologies (projected), compare corporate economy, various scenario targets.","code":"# Pick the targets you want to plot. data <- filter( market_share_targets_portfolio, scenario_source == \"demo_2020\", sector == \"power\", region == \"global\", metric %in% c(\"projected\", \"corporate_economy\", \"target_sds\") ) # Plot the technology mix qplot_techmix(data) #> The `technology_share` values are plotted for extreme years. #> Do you want to plot different years? E.g. filter data with:`subset(data, year %in% c(2020, 2030))`."},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-technology-level-volume-trajectory","dir":"Articles","previous_headings":"Visualization","what":"Market Share: Technology-level volume trajectory","title":"Introduction to r2dii.analysis","text":"can also plot technology-specific volume trend. starting values normalized 1, emphasize comparing rates buildout /retirement.","code":"data <- filter( market_share_targets_portfolio, sector == \"power\", technology == \"renewablescap\", region == \"global\", scenario_source == \"demo_2020\" ) qplot_trajectory(data) #> Warning: The dataset `green_or_brown`is superseded as of r2dii.data 0.3.2. #> Please use `increasing_or_decreasing` instead."},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"sda-target","dir":"Articles","previous_headings":"Visualization","what":"SDA Target","title":"Introduction to r2dii.analysis","text":"SDA output, can compare projected average emission intensity attributed portfolio, actual emission intensity scenario, scenario compliant SDA pathway portfolio must follow achieve scenario ambition 2050.","code":"data <- filter(sda_targets, sector == \"cement\", region == \"global\") qplot_emission_intensity(data)"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"scenario-market-shares","dir":"Articles","previous_headings":"","what":"Scenario market-shares","title":"Market Share Approach","text":"Say want study portfolio perform specific climate scenario. can allocate scenario efforts production profile portfolio? can two ways – technology, sector.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"market-share-by-technology","dir":"Articles","previous_headings":"Scenario market-shares","what":"1. Market-share by technology","title":"Market Share Approach","text":"define market-share technology : \\[p_{}^{tmsr}(t) = p_{}(t_{0}) + p_{}(t_{0}) * \\frac{s_i(t) - s_{}(t_0)}{s_i(t_0)}\\] can see reduces : \\[p_{}^{tmsr}(t) = p_{}(t_{0}) \\left(1 + \\frac{s_i(t) - s_{}(t_0)}{s_i(t_0)} \\right) \\\\ p_{}^{tmsr}(t) = p_{}(t_{0}) \\left(1 + \\frac{s_i(t)}{s_i(t_0)} -1 \\right) \\\\ p_{}^{tmsr}(t) = p_{}(t_{0}) * \\frac{s_i(t)}{s_i(t_0)}\\] : \\(s_i(t)\\) scenario production technology \\(\\) time \\(t\\), \\(p_{}(t_0)\\) production allocated portfolio technology, \\(\\) time \\(t_0\\), \\(p_{}^{tmsr}(t)\\) portfolio-specific target production technology. define “Technology Market Share Ratio” : \\[\\dfrac{s_i(t)}{s_i(t_0)}\\] method used set targets “decreasing” (ie. brown) technologies.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"market-share-by-sector","dir":"Articles","previous_headings":"Scenario market-shares","what":"2. Market-share by sector","title":"Market Share Approach","text":"calculate market-share sector, use initial production portfolio scenario sector-level instead. \\[p_{}^{smsp}(t) = p_{}(t_0) +P(t_0) * \\left( \\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\\right)\\] : \\(P_i(t_0)\\) portfolio’s total production sector \\(t_0\\), \\(S(t_0)\\) scenario total production \\(t_0\\). define “Sector Market Share Percentage” : \\[\\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\\] method used calculate targets “increasing” (ie. green) technologies.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"how-to-calculate-market-share-targets-for-a-given-scenario","dir":"Articles","previous_headings":"","what":"How to calculate market-share targets for a given scenario","title":"Market Share Approach","text":"calculate market-share targets, need use package r2dii.analysis number datasets. One datasets “matched” dataset (loanbook + asset-level data) can get package r2dii.match. datasets use come package r2dii.data; fake show structure data. Use packages. Match loanbook asset level data. Calculate market-share targets production portfolio level. Calculate market-share targets production company level.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% # WARNING: Remember to validate the output of match_name() before prioritize() prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , … # portfolio level targets scenario <- r2dii.data::scenario_demo_2020 regions <- r2dii.data::region_isos_demo matched %>% target_market_share(abcd, scenario, regions) #> # A tibble: 792 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 324592. #> 2 automotive electric 2020 global demo_2020 target_cps 324592. #> 3 automotive electric 2020 global demo_2020 target_sds 324592. #> 4 automotive electric 2020 global demo_2020 target_sps 324592. #> 5 automotive electric 2021 global demo_2020 projected 339656. #> 6 automotive electric 2021 global demo_2020 target_cps 329191. #> 7 automotive electric 2021 global demo_2020 target_sds 352505. #> 8 automotive electric 2021 global demo_2020 target_sps 330435. #> 9 automotive electric 2022 global demo_2020 projected 354720. #> 10 automotive electric 2022 global demo_2020 target_cps 333693. #> # ℹ 782 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope matched %>% target_market_share(abcd, scenario, regions, by_company = TRUE) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? #> # A tibble: 12,140 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 Bernardi… proje… 324592. #> 2 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 3 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 4 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 5 automoti… electric 2021 global demo_2020 Bernardi… proje… 339656. #> 6 automoti… electric 2021 global demo_2020 Bernardi… targe… 329191. #> 7 automoti… electric 2021 global demo_2020 Bernardi… targe… 352505. #> 8 automoti… electric 2021 global demo_2020 Bernardi… targe… 330435. #> 9 automoti… electric 2022 global demo_2020 Bernardi… proje… 354720. #> 10 automoti… electric 2022 global demo_2020 Bernardi… targe… 333693. #> # ℹ 12,130 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"sda-methodology","dir":"Articles","previous_headings":"","what":"SDA Methodology","title":"Sectoral Decarbonization Approach (SDA)","text":"Sectoral Decarbonization Approach (SDA) method setting corporate CO2 emissions intensity reduction targets line climate science. method developed Science-Based Targets Initiative (SBTI), international initiative science-based target setting companies initiated CDP, United Nations Global Compact, World Resources Institute (WRI), Worldwide Fund Nature (WWF). context PACTA, methodology used calculate emission factor targets homogenous sectors (.e. sectors technology-level scenario pathways). First, distance, \\(d\\), company’s CO2 emissions intensity per unit production (emissions factor), \\(^{Co}(t)\\) base year, \\(t_0\\), scenario target intensity 2050, \\(^{Sc}(2050)\\) calculated. target intensity 2050 can taken relevant climate scenario: \\[d = ^{Co}(t_0) - ^{Sc}(2050)\\] company’s market share parameter, \\(m(t)\\), defined company’s expected future activity, \\(P^{Co}(t)\\) divided sector’s future activity, \\(P^{Sc}(t)\\) reflect expected forward-looking market share company. given ratio company’s base year market share, derived activity, \\(P^{Co}(t_0)\\) divided sector’s activity year, \\(P^{Sc}(t_0)\\). cases former calculated per company, latter determined climate scenario: \\[m (t) = \\dfrac{P^{Co}(t_0) / P^{Sc}(t_0)}{P^{Co}(t) / P^{Sc}(t)}\\] noted parameter capture change market share company rather inverse. useful equates decreasing parameter company’s market share increasing. equates larger reduction efforts companies market share increasing time. sector decarbonization factor, \\(p(t)\\) defined : \\[ p(t) = \\frac{^{Sc}(t) - ^{Sc}(2050)}{^{Sc}(t_0) - ^{Sc}(2050)}\\] \\(^{}(t)\\) \\(^{Sc}(t)\\) average market scenario emission intensities respectively, time \\(t\\). variable captures remaining effort needed market meet target 2050, per year. SDA assumptions CO2 intensity companies sector converge 2050. Note \\(p(t_0) = 1\\) \\(p(2050) = 0\\), indicating 100% expected decarbonization efforts still met base year 0% left 2050. company-level emission intensity target defined : \\[^{Target}(t) = \\left( d * p (t) * m (t) \\right) + ^{Sc}(2050)\\]","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"pacta-assumptions","dir":"Articles","previous_headings":"","what":"PACTA Assumptions","title":"Sectoral Decarbonization Approach (SDA)","text":"SDA applied PACTA differs slightly way applied SBTI. particular, must align top-approach laid climate scenarios bottom-asset-based company data used PACTA analysis. Assumption: Market share stays constant (\\(m(t)\\) = 1) Due lack quantitative data expected market share changes throughout entire time horizon 2050. \\(m(t)\\) set 1 years. SBTI method calculating \\(m(t)\\), higher intensity reduction target cases absolute pathway sector exceeds scenario target. makes sense. However, applying company level counter-intuitive: Companies decrease market share allowed higher CO2-Intensity average market actor. , companies increasing market share forced terms CO2-Intensity ones whose market share remains constant. follows company reaches targeted CO2-Intensity allowed increase share market. desirable outcome. assumption, target calculation reduces : \\[^{Target}(t) = \\left( d * p (t) \\right) + ^{Sc}(2050)\\] Approximation: Adjust base year scenario emission intensity SBTI PACTA methodology target emissions sector taken climate scenarios. implement global economy top-approach applies absolute emissions value year 2050 converts yearly emission intensities. However, may discrepancies Scenario projected emission intensities, bottom-ABCD emission intensities. reflect discrepancy, adjust scenario projections following factor, \\[\\dfrac{^{ABCD}(t_0)}{^{Sc}(t_0)}\\] yielding adjusted scenario pathway: \\['^{Sc}(t) = \\left(\\dfrac{^{ABCD}(t_0)}{^{Sc}(t_0)}\\right) * ^{Sc}(t)\\] yields final PACTA SDA target equation: \\[^{Target}(t) = \\left( d * p (t) \\right) + '^{Sc}(t)\\] Note: \\(d\\) \\(p(t)\\) also must re-calculated using adjusted scenario intensity, \\('^{Sc}\\).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"calculating-sda-targets","dir":"Articles","previous_headings":"","what":"Calculating SDA Targets","title":"Sectoral Decarbonization Approach (SDA)","text":"calculate SDA targets need use package r2dii.analysis number datasets, including “matched” dataset (loanbook + asset-level data) can get package r2dii.match. datasets use come package r2dii.data; fake show structure data. Use packages. Match loanbook asset level data. Calculate SDA targets CO2 emissions intensities:","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% # WARNING: Remember to validate the output of match_name() before prioritize() prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , … co2_intensity <- r2dii.data::co2_intensity_scenario_demo matched %>% target_sda(abcd, co2_intensity) #> Warning: Removing rows in abcd where `emission_factor` is NA #> Warning: Found no matching regions for input scenario #> # A tibble: 0 × 4 #> # ℹ 4 variables: sector , year , emission_factor_metric , #> # emission_factor_value "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Alex Axthelm. Author, maintainer. Jackson Hoffart. Author, contractor. Mauro Lepore. Author, contractor. Klaus Hogedorn. Author. Nicky Halterman. Author. Rocky Mountain Institute. Copyright holder, funder.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Axthelm , Hoffart J, Lepore M, Hogedorn K, Halterman N (2024). r2dii.analysis: Measure Climate Scenario Alignment Corporate Loans. R package version 0.3.0.9000, https://rmi-pacta.github.io/r2dii.analysis/, https://github.com/RMI-PACTA/r2dii.analysis.","code":"@Manual{, title = {r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans}, author = {Alex Axthelm and Jackson Hoffart and Mauro Lepore and Klaus Hogedorn and Nicky Halterman}, year = {2024}, note = {R package version 0.3.0.9000, https://rmi-pacta.github.io/r2dii.analysis/}, url = {https://github.com/RMI-PACTA/r2dii.analysis}, }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"r2diianalysis-","dir":"","previous_headings":"","what":"Measure Climate Scenario Alignment of Corporate Loans","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"tools help assess financial portfolio aligns climate goals. summarize key metrics attributed portfolio (e.g. production, emission factors), calculate targets based climate scenarios. implement R last step free software ‘PACTA’ (Paris Agreement Capital Transition Assessment; https://www.transitionmonitor.com/). Financial institutions use ‘PACTA’ study capital allocation impacts climate.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Install released version r2dii.analysis CRAN : install development version r2dii.analysis GitHub :","code":"install.packages(\"r2dii.analysis\") # install.packages(\"devtools\") devtools::install_github(\"RMI-PACTA/r2dii.analysis\")"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"example","dir":"","previous_headings":"","what":"Example","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Use library() attach packages need. r2dii.analysis depend packages r2dii.data r2dii.match; suggest install – install.packages(c(\"r2dii.data\", \"r2dii.match\")) – can reproduce examples. Use r2dii.match::match_name() identify matches loanbook asset level data.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) matched <- match_name(loanbook_demo, abcd_demo) %>% prioritize()"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"add-scenario-targets","dir":"","previous_headings":"Example","what":"Add Scenario Targets","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Use target_sda() calculate SDA targets CO2 emissions. Use target_market_share calculate market-share scenario targets portfolio level: company level:","code":"matched %>% target_sda( abcd = abcd_demo, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo ) #> Warning: Removing rows in abcd where `emission_factor` is NA #> # A tibble: 96 × 6 #> sector year region scenario_source emission_factor_metric #> #> 1 steel 2021 advanced economies demo_2020 projected #> 2 steel 2021 global demo_2020 projected #> 3 steel 2022 advanced economies demo_2020 projected #> 4 steel 2022 global demo_2020 projected #> 5 steel 2024 advanced economies demo_2020 projected #> 6 steel 2024 global demo_2020 projected #> 7 steel 2025 advanced economies demo_2020 projected #> 8 steel 2025 global demo_2020 projected #> 9 steel 2027 advanced economies demo_2020 projected #> 10 steel 2027 global demo_2020 projected #> # ℹ 86 more rows #> # ℹ 1 more variable: emission_factor_value matched %>% target_market_share( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) #> # A tibble: 1,232 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 3664. #> 2 automotive electric 2020 global demo_2020 target_cps 3664. #> 3 automotive electric 2020 global demo_2020 target_sds 3664. #> 4 automotive electric 2020 global demo_2020 target_sps 3664. #> 5 automotive electric 2021 global demo_2020 projected 8472. #> 6 automotive electric 2021 global demo_2020 target_cps 3845. #> 7 automotive electric 2021 global demo_2020 target_sds 4766. #> 8 automotive electric 2021 global demo_2020 target_sps 3894. #> 9 automotive electric 2022 global demo_2020 projected 8436. #> 10 automotive electric 2022 global demo_2020 target_cps 4023. #> # ℹ 1,222 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope matched %>% target_market_share( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo, by_company = TRUE ) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? #> # A tibble: 3,200 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 large au… proje… 713. #> 2 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 3 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 4 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 5 automoti… electric 2020 global demo_2020 large au… proje… 535. #> 6 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 7 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 8 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 9 automoti… electric 2020 global demo_2020 large au… proje… 690. #> 10 automoti… electric 2020 global demo_2020 large au… targe… 690. #> # ℹ 3,190 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"utility-functions","dir":"","previous_headings":"Example","what":"Utility Functions","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"target_*() functions provide shortcuts common operations. wrap utility functions may also use directly: Use join_abcd_scenario() join matched dataset relevant scenario data, pick assets relevant regions. Use summarize_weighted_production() different grouping arguments calculate scenario-targets: Get started.","code":"loanbook_joined_to_abcd_scenario <- matched %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # portfolio level loanbook_joined_to_abcd_scenario %>% summarize_weighted_production(scenario, tmsr, smsp, region) #> # A tibble: 558 × 9 #> sector_abcd technology year scenario tmsr smsp region #> #> 1 automotive electric 2020 cps 1 0 global #> 2 automotive electric 2020 sds 1 0 global #> 3 automotive electric 2020 sps 1 0 global #> 4 automotive electric 2021 cps 1.12 0.00108 global #> 5 automotive electric 2021 sds 1.16 0.00653 global #> 6 automotive electric 2021 sps 1.14 0.00137 global #> 7 automotive electric 2022 cps 1.24 0.00213 global #> 8 automotive electric 2022 sds 1.32 0.0131 global #> 9 automotive electric 2022 sps 1.29 0.00273 global #> 10 automotive electric 2023 cps 1.35 0.00316 global #> # ℹ 548 more rows #> # ℹ 2 more variables: weighted_production , #> # weighted_technology_share # company level loanbook_joined_to_abcd_scenario %>% summarize_weighted_production(scenario, tmsr, smsp, region, name_abcd) #> # A tibble: 1,953 × 10 #> sector_abcd technology year scenario tmsr smsp region name_abcd #> #> 1 automotive electric 2020 cps 1 0 global large automotive co… #> 2 automotive electric 2020 cps 1 0 global large automotive co… #> 3 automotive electric 2020 cps 1 0 global large automotive co… #> 4 automotive electric 2020 cps 1 0 global large hdv company t… #> 5 automotive electric 2020 sds 1 0 global large automotive co… #> 6 automotive electric 2020 sds 1 0 global large automotive co… #> 7 automotive electric 2020 sds 1 0 global large automotive co… #> 8 automotive electric 2020 sds 1 0 global large hdv company t… #> 9 automotive electric 2020 sps 1 0 global large automotive co… #> 10 automotive electric 2020 sps 1 0 global large automotive co… #> # ℹ 1,943 more rows #> # ℹ 2 more variables: weighted_production , #> # weighted_technology_share "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"funding","dir":"","previous_headings":"","what":"Funding","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"project received funding European Union LIFE program International Climate Initiative (IKI). Federal Ministry Environment, Nature Conservation Nuclear Safety (BMU) supports initiative basis decision adopted German Bundestag. views expressed sole responsibility authors necessarily reflect views funders. funders responsible use may made information contains.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"join_abcd_scenario() simple wrapper several calls dplyr::join_*(), forming master dataset used later steps analysis.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"","code":"join_abcd_scenario( data, abcd, scenario, region_isos = r2dii.data::region_isos, add_green_technologies = FALSE )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"data data frame like output r2dii.match::prioritize. abcd asset level data frame like r2dii.data::abcd_demo. scenario scenario data frame like r2dii.data::scenario_demo_2020. region_isos data frame like r2dii.data::region_isos (default). add_green_technologies Logical vector length 1. FALSE defaults outputting technologies present data abcd. Set FALSE add rows possible green technologies (0 production).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"Returns fully joined data frame, linking portfolio, abcd scenario.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"","code":"installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", versionCheck = \"0.1.0\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) valid_matches <- match_name(loanbook_demo, abcd_demo) %>% # WARNING: Remember to validate matches (see `?prioritize`) prioritize() valid_matches %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) } #> # A tibble: 4,287 × 45 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_parent_1 #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L6 C304 Kassulke-Kassulke NA #> 3 L6 C304 Kassulke-Kassulke NA #> 4 L6 C304 Kassulke-Kassulke NA #> 5 L6 C304 Kassulke-Kassulke NA #> 6 L6 C304 Kassulke-Kassulke NA #> 7 L6 C304 Kassulke-Kassulke NA #> 8 L6 C304 Kassulke-Kassulke NA #> 9 L6 C304 Kassulke-Kassulke NA #> 10 L6 C304 Kassulke-Kassulke NA #> # ℹ 4,277 more rows #> # ℹ 41 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , sector_classification_input_type , #> # sector_classification_direct_loantaker , fi_type , …"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"function deprecated favour join_abcd_scenario(). See information.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"","code":"join_ald_scenario( data, ald, scenario, region_isos = r2dii.data::region_isos, add_green_technologies = FALSE )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) valid_matches <- match_name(loanbook_demo, ald_demo) %>% prioritize() valid_matches %>% join_ald_scenario( ald = ald_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # -> valid_matches %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/r2dii.analysis-package.html","id":null,"dir":"Reference","previous_headings":"","what":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","title":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","text":"tools help assess corporate lending portfolio aligns climate goals. summarize key climate indicators attributed portfolio (e.g. production, emission factors), calculate alignment targets based climate scenarios. implement R last step free software 'PACTA' (Paris Agreement Capital Transition Assessment; https://www.transitionmonitor.com/). Financial institutions use 'PACTA' study capital allocation decisions align climate change mitigation goals.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/r2dii.analysis-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","text":"Maintainer: Alex Axthelm aaxthelm@rmi.org (ORCID) Authors: Jackson Hoffart jackson.hoffart@gmail.com (ORCID) [contractor] Mauro Lepore maurolepore@gmail.com (ORCID) [contractor] Klaus Hogedorn klaus@2degrees-investing.org Nicky Halterman nicholas..halterman@gmail.com contributors: Rocky Mountain Institute PACTA4banks@rmi.org [copyright holder, funder]","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":null,"dir":"Reference","previous_headings":"","what":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"Based weight loan per sector per year, summarize_weighted_production() summarize_weighted_percent_change() summarize production percent-change, respectively.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"","code":"summarize_weighted_production(data, ..., use_credit_limit = FALSE) summarize_weighted_percent_change(data, ..., use_credit_limit = FALSE)"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"data data frame like output join_abcd_scenario(). ... Variables group . use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE instead use column loan_size_credit_limit.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"tibble groups input () columns: sector, technology, year; weighted_production weighted_production summarize_weighted_production() summarize_weighted_percent_change(), respectively.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"warning","dir":"Reference","previous_headings":"","what":"Warning","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"percent-change analysis excludes companies 0 production. percent-change undefined companies initial production; including companies cause percent-change percentage infinite, wrong.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) loanbook <- head(loanbook_demo, 150) abcd <- head(abcd_demo, 100) master <- loanbook %>% match_name(abcd) %>% prioritize() %>% join_abcd_scenario( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo ) %>% dplyr::filter(production != 0) summarize_weighted_production(master) summarize_weighted_production(master, use_credit_limit = TRUE) summarize_weighted_percent_change(master) summarize_weighted_percent_change(master, use_credit_limit = TRUE) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":null,"dir":"Reference","previous_headings":"","what":"Add targets for production, using the market share approach — target_market_share","title":"Add targets for production, using the market share approach — target_market_share","text":"function calculates portfolio-level production targets, calculated using market share approach applied relevant climate production forecast.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add targets for production, using the market share approach — target_market_share","text":"","code":"target_market_share( data, abcd, scenario, region_isos = r2dii.data::region_isos, use_credit_limit = FALSE, by_company = FALSE, weight_production = TRUE, increasing_or_decreasing = r2dii.data::increasing_or_decreasing, ald = deprecated() )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add targets for production, using the market share approach — target_market_share","text":"data \"data.frame\" like output r2dii.match::prioritize. abcd asset level data frame like r2dii.data::abcd_demo. scenario scenario data frame like r2dii.data::scenario_demo_2020. region_isos data frame like r2dii.data::region_isos (default). use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE use column loan_size_credit_limit instead. by_company Logical vector length 1. FALSE defaults outputting production_value portfolio-level. Set TRUE output production_value company-level. weight_production Logical vector length 1. TRUE defaults outputting production, weighted relative loan-size. Set FALSE output unweighted production values. increasing_or_decreasing data frame like r2dii.data::increasing_or_decreasing. ald ald superseded abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add targets for production, using the market share approach — target_market_share","text":"tibble including summarized columns metric, production, technology_share, percentage_of_initial_production_by_scope scope. by_company = TRUE, output also column name_abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"handling-grouped-data","dir":"Reference","previous_headings":"","what":"Handling grouped data","title":"Add targets for production, using the market share approach — target_market_share","text":"function ignores existing groups outputs ungrouped data.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add targets for production, using the market share approach — target_market_share","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) loanbook <- head(loanbook_demo, 100) abcd <- head(abcd_demo, 100) matched <- loanbook %>% match_name(abcd) %>% prioritize() # Calculate targets at portfolio level matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # Calculate targets at company level matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo, by_company = TRUE ) matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo, # Calculate unweighted targets weight_production = FALSE ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":null,"dir":"Reference","previous_headings":"","what":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"function calculates targets CO2 emissions per unit production portfolio-level, otherwise referred \"emissions factors\". uses sectoral-decarbonization approach (SDA) calculate targets.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"","code":"target_sda( data, abcd, co2_intensity_scenario, use_credit_limit = FALSE, by_company = FALSE, region_isos = r2dii.data::region_isos, ald = deprecated() )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"data dataframe like output r2dii.match::prioritize(). abcd asset-level data frame like r2dii.data::abcd_demo. co2_intensity_scenario scenario data frame like r2dii.data::co2_intensity_scenario_demo. use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE instead use column loan_size_credit_limit. by_company Logical vector length 1. FALSE defaults outputting weighted_production_value portfolio-level. Set TRUE output weighted_production_value company-level. region_isos data frame like r2dii.data::region_isos (default). ald ald superseded abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"tibble including summarized columns emission_factor_metric emission_factor_value. by_company = TRUE, output also column name_abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"handling-grouped-data","dir":"Reference","previous_headings":"","what":"Handling grouped data","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"function ignores existing groups outputs ungrouped data.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.match\", quietly = TRUE) && requireNamespace(\"r2dii.data\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.match) library(r2dii.data) loanbook <- head(loanbook_demo, 150) abcd <- head(abcd_demo, 100) matched <- loanbook %>% match_name(abcd) %>% prioritize() # Calculate targets at portfolio level matched %>% target_sda( abcd = abcd, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo ) # Calculate targets at company level matched %>% target_sda( abcd = abcd, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo, by_company = TRUE ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/tidyeval.html","id":null,"dir":"Reference","previous_headings":"","what":"Tidy eval helpers — tidyeval","title":"Tidy eval helpers — tidyeval","text":"learn tidy eval use tools, check Metaprogramming section Advanced R.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/tidyeval.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tidy eval helpers — tidyeval","text":"sym() creates symbol string syms() creates list symbols character vector. enquo() enquos() delay execution one several function arguments. enquo() returns single quoted expression, like blueprint delayed computation. enquos() returns list quoted expressions. expr() quotes new expression locally. mostly useful build new expressions around arguments captured enquo() enquos(): expr(mean(!!enquo(arg), na.rm = TRUE)). as_name() transforms quoted variable name string. Supplying something else quoted variable name error. unlike as_label() also returns single string supports kind R object input, including quoted function calls vectors. purpose summarise object single label. label often suitable default name. know quoted expression contains (instance expressions captured enquo() variable name, call function, unquoted constant), use as_label(). know quoted simple variable name, like enforce , use as_name().","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-030","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.3.0","title":"r2dii.analysis 0.3.0","text":"CRAN release: 2023-10-23 target_sda now uses final year scenario convergence target by_company = TRUE (#445). target_market_share gains argument increasing_or_decreasing (#426).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-021","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.2.1","title":"r2dii.analysis 0.2.1","text":"CRAN release: 2022-11-03 r2dii.analysis transferred new organization: https://github.com/RMI-PACTA/.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-020","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.2.0","title":"r2dii.analysis 0.2.0","text":"CRAN release: 2022-05-05 New argument abcd target_market_share() target_sda supersedes argument ald (#404). target_sda() now outputs data sector values three input datasets (data, ald co2_intensity_scenario) (#390). target_sda() now outputs unweighted emission_factor by_company TRUE (#376). target_sda() gains region_isos argument (#323). target_market_share() now outputs values years ald scenario inputs (#394). target_market_share() now outputs two new columns, percentage_of_initial_production_by_scope scope (ADO #4143).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-0112","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.12","title":"r2dii.analysis 0.1.12","text":"CRAN release: 2021-08-18 target_market_share() now outputs 0 technology_share, companies 0 sectoral production (#306 @Antoine-Lalechere). target_sda() now filters scenario start year consistent ald start year (#346 @waltjl).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-0110","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.10","title":"r2dii.analysis 0.1.10","text":"CRAN release: 2021-07-09 target_market_share() now sets negative smsp targets zero (#336). target_market_share() now outputs sectors present input datasets (#329). target_market_share() now always adds targets green technologies (defined r2dii.data::green_or_brown), even present input data (#318 @Antoine-Lalechere). target_market_share() now correctly groups region calculating technology_share (#315 @Antoine-Lalechere).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-019","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.9","title":"r2dii.analysis 0.1.9","text":"CRAN release: 2021-06-30 target_sda() now outputs sector values present input co2_intensity_scenario data (#308). target_sda() now outputs targets range years input co2_intenstiy_scenario (#307).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-018","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.8","title":"r2dii.analysis 0.1.8","text":"CRAN release: 2021-05-22 target_market_share() now correctly outputs target technology share, line methodology (@georgeharris2deg #277). target_market_share() now correctly projects technology share ‘production / total production’ computing company, unweighted relative loan size (@KapitanKombajn #288). target_market_share() longer outputs columns sector_weighted_production technology_weighted_production. columns internal shouldn’t face users (#291).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-016","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.6","title":"r2dii.analysis 0.1.6","text":"CRAN release: 2021-03-10 target_market_share() now correctly outputs technology_share multiple loans different level company (@ab-bbva #265).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-015","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.5","title":"r2dii.analysis 0.1.5","text":"CRAN release: 2021-01-22 target_market_share() now errors input data unexpected column (@georgeharris2deg #267). target_market_share() now correctly outputs technology_share multiple loans company (@georgeharris2deg #262, @ab-bbva #265).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-014","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.4","title":"r2dii.analysis 0.1.4","text":"CRAN release: 2021-01-05 target_market_share() now correctly outputs unweighted production company, equal ald-production one company multiple loans different size (#255 @georgeharris2deg).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-013","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.3","title":"r2dii.analysis 0.1.3","text":"CRAN release: 2020-12-15 target_market_share() now correctly outputs unweighted production multiple levels exist company (#249).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-012","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.2","title":"r2dii.analysis 0.1.2","text":"CRAN release: 2020-12-05 target_market_share() now outputs weighted_technology_share correctly sums 1 grouped sector, metric scenario (#218). target_market_share() now correctly outputs unweighted production multiple loans exist company (#239). target_market_share() now outputs empty named tibble matching region definitions can found (#236). target_market_share now outputs technologies present ald, even present data (#235). target_sda() now interpolates input scenario file year correctly calculates target, regardless time-horizon ald (#234). Hyperlinks “Get Started” tab website now points correct links (#222 @apmanning). Depend dplyr >= 0.8.5, explicitly. commit version newer dplyr 1 still relatively new, represents major change users initially resist. Relax dependency rlang, mostly driven dynamically recursive dependencies. example, dplyr 0.8.5 depends specific version rlang recent version explicitly depended – suggests explicit rlang unhelpful misleading. New internal data loanbook_stable region_isos_stable make regression tests stable (#227).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-011","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.1","title":"r2dii.analysis 0.1.1","text":"CRAN release: 2020-09-12 Change license MIT. website’s home page now thanks founders. target_market_share() now works expected value column scenario missing value column region. longer results output columns production technology_share type “list” (#203). website now shows News tab.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-010","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.0","title":"r2dii.analysis 0.1.0","text":"CRAN release: 2020-09-03 target_sda() now correctly handles differing country_of_domicile inputs (#171). target_market_share() now outputs technology_share (#184). join_ald_scenario() now returns visibly dev-magrittr (#188 @lionel-). target_market_share() gains weight_production parameter (#181). target_market_share() now correctly use sector_ald column input data argument (#178). target_sda() now automatically filters ald rows emissions_factor values NA (#173). join_ald_scenario() now converts lower case values columns sector_ald technology (#172). target_sda() now aggregates input ald technology plant_location prior calculating targets (@QianFeng2020 #160). target_sda() now errors input data duplicated id_loan (@QianFeng2020 #164). target_sda() gains by_company parameter (#155). target_market_share() now outputs actual aggregated corporate economy. Previously, output , erroneously, normalized starting portfolio value (#158). target_sda() now correctly calculates SDA targets (#153): Targets now calculated using scenario data adjusted corporate economy data. adjusted scenario data also output function along usual metrics. Methodology error fixed, reflected code. Previously, target , incorrectly, calculated multiplying adjusted scenario. Now scenario data added instead. New summarize_weighted_percent_change() allows user calculate new indicator (#141). target_market_share() longer errors combination sector scenario_target_value uniquely identify observation (@georgeharris2deg #142).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-001","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.0.1","title":"r2dii.analysis 0.0.1","text":"CRAN release: 2020-06-28 First release CRAN","code":""}] +[{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2020 Rocky Mountain Institute Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/production-percent-change.html","id":"weighted-production","dir":"Articles","previous_headings":"","what":"Weighted Production","title":"Indicator Choices:","text":"intents purposes, recommend calculating targets using loan weighted production indicator. particular, define loan weighted production given company, \\(j\\) : \\[ \\overline{p}_{,j}(t) = p_{,j}(t) * \\dfrac{l_j}{\\sum_j l_j}\\] \\(p_{,j}\\) production company \\(\\) technology \\(j\\) \\(l_j\\) loan given company \\(j\\). calculate portfolio targets, aggregate value summing every company portfolio: \\[ \\overline{p}_i (t) = \\sum_j \\left[ p_{,j}(t) * \\dfrac{l_j}{\\sum_j l_j} \\right] \\] Effectively, loan-weighted average production attributed company portfolio. significant result indicator choice small companies (little production) favorably weighted, given loan company sufficiently large. can useful reflect large investments green start-ups. calculate weighted production:","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) master <- loanbook_demo %>% match_name(abcd_demo) %>% prioritize() %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) summarize_weighted_production(master) #> # A tibble: 66 × 5 #> sector_abcd technology year weighted_production weighted_technology_share #> #> 1 automotive electric 2020 973775. 0.114 #> 2 automotive electric 2021 1018967. 0.118 #> 3 automotive electric 2022 1064159. 0.122 #> 4 automotive electric 2023 1109351. 0.126 #> 5 automotive electric 2024 1154543. 0.130 #> 6 automotive electric 2025 1199735. 0.133 #> 7 automotive hybrid 2020 1886042. 0.221 #> 8 automotive hybrid 2021 1709634. 0.198 #> 9 automotive hybrid 2022 1533226. 0.176 #> 10 automotive hybrid 2023 1356819. 0.154 #> # ℹ 56 more rows"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/production-percent-change.html","id":"weighted-percent-change-in-production","dir":"Articles","previous_headings":"","what":"Weighted Percent Change in Production","title":"Indicator Choices:","text":"-hand, ’re keen understand large corporations portfolio planning make significant changes, percent change production may useful indicator. company, define percent change, \\(\\chi_i(t)\\), compared start year, \\(t_0\\): \\[ \\chi_i(t) = \\dfrac{p_{}(t)-p_{}(t_0)}{p_i(t_0)} * 100\\] \\(p_i(t)\\) indicator (production capacity) technology \\(\\), \\(t0\\) start year analysis. aggregate percent-change production company portfolio-level, using loan-weighted average . particular, loan \\(l_j\\) company \\(j\\), : \\[ \\overline{\\chi_i} = \\sum_j \\left[ \\chi_{,j} * \\dfrac{l_j}{\\sum_j l_j} \\right]\\] noted percent change, \\(\\chi\\), undefined 0 initial production. Intuitively, makes sense, since require “infinite percent” build-grow anything 0. reason, company 0 initial production filtered prior calculating percent change indicator. calculate weighted percent change:","code":"# using the master dataset defined in the previous chunk: summarize_weighted_percent_change(master) #> # A tibble: 66 × 4 #> sector_abcd technology year weighted_percent_change #> #> 1 automotive electric 2020 0 #> 2 automotive electric 2021 0.0881 #> 3 automotive electric 2022 0.176 #> 4 automotive electric 2023 0.264 #> 5 automotive electric 2024 0.352 #> 6 automotive electric 2025 0.440 #> 7 automotive hybrid 2020 1.78 #> 8 automotive hybrid 2021 1.43 #> 9 automotive hybrid 2022 1.09 #> 10 automotive hybrid 2023 0.747 #> # ℹ 56 more rows"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"load-your-r2dii-libraries","dir":"Articles","previous_headings":"","what":"Load your r2dii libraries","title":"Introduction to r2dii.analysis","text":"first step analysis load recommended r2dii packages current R session. r2dii.data includes fake data help demonstrate tool r2dii.match provides functions help easily match loanbook asset-level data. plot results, may also load package r2dii.plot. also recommend packages tidyverse; optional useful.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) library(r2dii.plot) library(tidyverse) #> ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ── #> ✔ dplyr 1.1.4 ✔ readr 2.1.5 #> ✔ forcats 1.0.0 ✔ stringr 1.5.1 #> ✔ ggplot2 3.4.4 ✔ tibble 3.2.1 #> ✔ lubridate 1.9.3 ✔ tidyr 1.3.0 #> ✔ purrr 1.0.2 #> ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ── #> ✖ dplyr::filter() masks stats::filter() #> ✖ dplyr::lag() masks stats::lag() #> ℹ Use the conflicted package () to force all conflicts to become errors"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"match-your-loanbook-to-climate-related-asset-level-data","dir":"Articles","previous_headings":"","what":"Match your loanbook to climate-related asset-level data","title":"Introduction to r2dii.analysis","text":"See r2dii.match complete description process.","code":"# Use these datasets to practice but eventually you should use your own data. # The optional syntax `package::data` is to clarify where the data comes from. loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , …"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"calculate-targets","dir":"Articles","previous_headings":"","what":"Calculate targets","title":"Introduction to r2dii.analysis","text":"can calculate scenario targets using two different approaches: Market Share Approach, Sectoral Decarbonization Approach.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-approach","dir":"Articles","previous_headings":"Calculate targets","what":"Market Share Approach","title":"Introduction to r2dii.analysis","text":"Market Share Approach used calculate scenario targets production technology sector. example, can use approach set targets production electric vehicles automotive sector. approach recommended sectors granular technology scenario roadmap exists. Targets can set portfolio level: company level:","code":"# Use these datasets to practice but eventually you should use your own data. scenario <- r2dii.data::scenario_demo_2020 regions <- r2dii.data::region_isos_demo market_share_targets_portfolio <- matched %>% target_market_share( abcd = abcd, scenario = scenario, region_isos = regions ) market_share_targets_portfolio #> # A tibble: 792 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 324592. #> 2 automotive electric 2020 global demo_2020 target_cps 324592. #> 3 automotive electric 2020 global demo_2020 target_sds 324592. #> 4 automotive electric 2020 global demo_2020 target_sps 324592. #> 5 automotive electric 2021 global demo_2020 projected 339656. #> 6 automotive electric 2021 global demo_2020 target_cps 329191. #> 7 automotive electric 2021 global demo_2020 target_sds 352505. #> 8 automotive electric 2021 global demo_2020 target_sps 330435. #> 9 automotive electric 2022 global demo_2020 projected 354720. #> 10 automotive electric 2022 global demo_2020 target_cps 333693. #> # ℹ 782 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope market_share_targets_company <- matched %>% target_market_share( abcd = abcd, scenario = scenario, region_isos = regions, # Output results at company-level. by_company = TRUE ) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? market_share_targets_company #> # A tibble: 12,140 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 Bernardi… proje… 324592. #> 2 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 3 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 4 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 5 automoti… electric 2021 global demo_2020 Bernardi… proje… 339656. #> 6 automoti… electric 2021 global demo_2020 Bernardi… targe… 329191. #> 7 automoti… electric 2021 global demo_2020 Bernardi… targe… 352505. #> 8 automoti… electric 2021 global demo_2020 Bernardi… targe… 330435. #> 9 automoti… electric 2022 global demo_2020 Bernardi… proje… 354720. #> 10 automoti… electric 2022 global demo_2020 Bernardi… targe… 333693. #> # ℹ 12,130 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"sectoral-decarbonization-approach","dir":"Articles","previous_headings":"Calculate targets","what":"Sectoral Decarbonization Approach","title":"Introduction to r2dii.analysis","text":"Sectoral Decarbonization Approach used calculate scenario targets emission_factor sector. example, can use approach set targets average emission factor cement sector. approach recommended sectors lacking technology roadmaps.","code":"# Use this dataset to practice but eventually you should use your own data. co2 <- r2dii.data::co2_intensity_scenario_demo sda_targets <- matched %>% target_sda(abcd = abcd, co2_intensity_scenario = co2, region_isos = regions) %>% filter(sector == \"cement\", year >= 2020) #> Warning: Removing rows in abcd where `emission_factor` is NA sda_targets #> # A tibble: 110 × 6 #> sector year region scenario_source emission_factor_metric #> #> 1 cement 2020 advanced economies demo_2020 projected #> 2 cement 2020 developing asia demo_2020 projected #> 3 cement 2020 global demo_2020 projected #> 4 cement 2021 advanced economies demo_2020 projected #> 5 cement 2021 developing asia demo_2020 projected #> 6 cement 2021 global demo_2020 projected #> 7 cement 2022 advanced economies demo_2020 projected #> 8 cement 2022 developing asia demo_2020 projected #> 9 cement 2022 global demo_2020 projected #> 10 cement 2023 advanced economies demo_2020 projected #> # ℹ 100 more rows #> # ℹ 1 more variable: emission_factor_value "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"visualization","dir":"Articles","previous_headings":"","what":"Visualization","title":"Introduction to r2dii.analysis","text":"large variety possible visualizations stemming outputs target_market_share() target_sda(). , highlight couple common plots can easily created using r2dii.plot package.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-sector-level-technology-mix","dir":"Articles","previous_headings":"Visualization","what":"Market Share: Sector-level technology mix","title":"Introduction to r2dii.analysis","text":"market share output, can plot portfolio’s exposure various climate sensitive technologies (projected), compare corporate economy, various scenario targets.","code":"# Pick the targets you want to plot. data <- filter( market_share_targets_portfolio, scenario_source == \"demo_2020\", sector == \"power\", region == \"global\", metric %in% c(\"projected\", \"corporate_economy\", \"target_sds\") ) # Plot the technology mix qplot_techmix(data) #> The `technology_share` values are plotted for extreme years. #> Do you want to plot different years? E.g. filter data with:`subset(data, year %in% c(2020, 2030))`."},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"market-share-technology-level-volume-trajectory","dir":"Articles","previous_headings":"Visualization","what":"Market Share: Technology-level volume trajectory","title":"Introduction to r2dii.analysis","text":"can also plot technology-specific volume trend. starting values normalized 1, emphasize comparing rates buildout /retirement.","code":"data <- filter( market_share_targets_portfolio, sector == \"power\", technology == \"renewablescap\", region == \"global\", scenario_source == \"demo_2020\" ) qplot_trajectory(data) #> Warning: The dataset `green_or_brown`is superseded as of r2dii.data 0.3.2. #> Please use `increasing_or_decreasing` instead."},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/r2dii-analysis.html","id":"sda-target","dir":"Articles","previous_headings":"Visualization","what":"SDA Target","title":"Introduction to r2dii.analysis","text":"SDA output, can compare projected average emission intensity attributed portfolio, actual emission intensity scenario, scenario compliant SDA pathway portfolio must follow achieve scenario ambition 2050.","code":"data <- filter(sda_targets, sector == \"cement\", region == \"global\") qplot_emission_intensity(data)"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"scenario-market-shares","dir":"Articles","previous_headings":"","what":"Scenario market-shares","title":"Market Share Approach","text":"Say want study portfolio perform specific climate scenario. can allocate scenario efforts production profile portfolio? can two ways – technology, sector.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"market-share-by-technology","dir":"Articles","previous_headings":"Scenario market-shares","what":"1. Market-share by technology","title":"Market Share Approach","text":"define market-share technology : \\[p_{}^{tmsr}(t) = p_{}(t_{0}) + p_{}(t_{0}) * \\frac{s_i(t) - s_{}(t_0)}{s_i(t_0)}\\] can see reduces : \\[p_{}^{tmsr}(t) = p_{}(t_{0}) \\left(1 + \\frac{s_i(t) - s_{}(t_0)}{s_i(t_0)} \\right) \\\\ p_{}^{tmsr}(t) = p_{}(t_{0}) \\left(1 + \\frac{s_i(t)}{s_i(t_0)} -1 \\right) \\\\ p_{}^{tmsr}(t) = p_{}(t_{0}) * \\frac{s_i(t)}{s_i(t_0)}\\] : \\(s_i(t)\\) scenario production technology \\(\\) time \\(t\\), \\(p_{}(t_0)\\) production allocated portfolio technology, \\(\\) time \\(t_0\\), \\(p_{}^{tmsr}(t)\\) portfolio-specific target production technology. define “Technology Market Share Ratio” : \\[\\dfrac{s_i(t)}{s_i(t_0)}\\] method used set targets “decreasing” (ie. brown) technologies.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"market-share-by-sector","dir":"Articles","previous_headings":"Scenario market-shares","what":"2. Market-share by sector","title":"Market Share Approach","text":"calculate market-share sector, use initial production portfolio scenario sector-level instead. \\[p_{}^{smsp}(t) = p_{}(t_0) +P(t_0) * \\left( \\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\\right)\\] : \\(P_i(t_0)\\) portfolio’s total production sector \\(t_0\\), \\(S(t_0)\\) scenario total production \\(t_0\\). define “Sector Market Share Percentage” : \\[\\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\\] method used calculate targets “increasing” (ie. green) technologies.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-market-share.html","id":"how-to-calculate-market-share-targets-for-a-given-scenario","dir":"Articles","previous_headings":"","what":"How to calculate market-share targets for a given scenario","title":"Market Share Approach","text":"calculate market-share targets, need use package r2dii.analysis number datasets. One datasets “matched” dataset (loanbook + asset-level data) can get package r2dii.match. datasets use come package r2dii.data; fake show structure data. Use packages. Match loanbook asset level data. Calculate market-share targets production portfolio level. Calculate market-share targets production company level.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% # WARNING: Remember to validate the output of match_name() before prioritize() prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , … # portfolio level targets scenario <- r2dii.data::scenario_demo_2020 regions <- r2dii.data::region_isos_demo matched %>% target_market_share(abcd, scenario, regions) #> # A tibble: 792 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 324592. #> 2 automotive electric 2020 global demo_2020 target_cps 324592. #> 3 automotive electric 2020 global demo_2020 target_sds 324592. #> 4 automotive electric 2020 global demo_2020 target_sps 324592. #> 5 automotive electric 2021 global demo_2020 projected 339656. #> 6 automotive electric 2021 global demo_2020 target_cps 329191. #> 7 automotive electric 2021 global demo_2020 target_sds 352505. #> 8 automotive electric 2021 global demo_2020 target_sps 330435. #> 9 automotive electric 2022 global demo_2020 projected 354720. #> 10 automotive electric 2022 global demo_2020 target_cps 333693. #> # ℹ 782 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope matched %>% target_market_share(abcd, scenario, regions, by_company = TRUE) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? #> # A tibble: 12,140 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 Bernardi… proje… 324592. #> 2 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 3 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 4 automoti… electric 2020 global demo_2020 Bernardi… targe… 324592. #> 5 automoti… electric 2021 global demo_2020 Bernardi… proje… 339656. #> 6 automoti… electric 2021 global demo_2020 Bernardi… targe… 329191. #> 7 automoti… electric 2021 global demo_2020 Bernardi… targe… 352505. #> 8 automoti… electric 2021 global demo_2020 Bernardi… targe… 330435. #> 9 automoti… electric 2022 global demo_2020 Bernardi… proje… 354720. #> 10 automoti… electric 2022 global demo_2020 Bernardi… targe… 333693. #> # ℹ 12,130 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"sda-methodology","dir":"Articles","previous_headings":"","what":"SDA Methodology","title":"Sectoral Decarbonization Approach (SDA)","text":"Sectoral Decarbonization Approach (SDA) method setting corporate CO2 emissions intensity reduction targets line climate science. method developed Science-Based Targets Initiative (SBTI), international initiative science-based target setting companies initiated CDP, United Nations Global Compact, World Resources Institute (WRI), Worldwide Fund Nature (WWF). context PACTA, methodology used calculate emission factor targets homogenous sectors (.e. sectors technology-level scenario pathways). First, distance, \\(d\\), company’s CO2 emissions intensity per unit production (emissions factor), \\(^{Co}(t)\\) base year, \\(t_0\\), scenario target intensity 2050, \\(^{Sc}(2050)\\) calculated. target intensity 2050 can taken relevant climate scenario: \\[d = ^{Co}(t_0) - ^{Sc}(2050)\\] company’s market share parameter, \\(m(t)\\), defined company’s expected future activity, \\(P^{Co}(t)\\) divided sector’s future activity, \\(P^{Sc}(t)\\) reflect expected forward-looking market share company. given ratio company’s base year market share, derived activity, \\(P^{Co}(t_0)\\) divided sector’s activity year, \\(P^{Sc}(t_0)\\). cases former calculated per company, latter determined climate scenario: \\[m (t) = \\dfrac{P^{Co}(t_0) / P^{Sc}(t_0)}{P^{Co}(t) / P^{Sc}(t)}\\] noted parameter capture change market share company rather inverse. useful equates decreasing parameter company’s market share increasing. equates larger reduction efforts companies market share increasing time. sector decarbonization factor, \\(p(t)\\) defined : \\[ p(t) = \\frac{^{Sc}(t) - ^{Sc}(2050)}{^{Sc}(t_0) - ^{Sc}(2050)}\\] \\(^{}(t)\\) \\(^{Sc}(t)\\) average market scenario emission intensities respectively, time \\(t\\). variable captures remaining effort needed market meet target 2050, per year. SDA assumptions CO2 intensity companies sector converge 2050. Note \\(p(t_0) = 1\\) \\(p(2050) = 0\\), indicating 100% expected decarbonization efforts still met base year 0% left 2050. company-level emission intensity target defined : \\[^{Target}(t) = \\left( d * p (t) * m (t) \\right) + ^{Sc}(2050)\\]","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"pacta-assumptions","dir":"Articles","previous_headings":"","what":"PACTA Assumptions","title":"Sectoral Decarbonization Approach (SDA)","text":"SDA applied PACTA differs slightly way applied SBTI. particular, must align top-approach laid climate scenarios bottom-asset-based company data used PACTA analysis. Assumption: Market share stays constant (\\(m(t)\\) = 1) Due lack quantitative data expected market share changes throughout entire time horizon 2050. \\(m(t)\\) set 1 years. SBTI method calculating \\(m(t)\\), higher intensity reduction target cases absolute pathway sector exceeds scenario target. makes sense. However, applying company level counter-intuitive: Companies decrease market share allowed higher CO2-Intensity average market actor. , companies increasing market share forced terms CO2-Intensity ones whose market share remains constant. follows company reaches targeted CO2-Intensity allowed increase share market. desirable outcome. assumption, target calculation reduces : \\[^{Target}(t) = \\left( d * p (t) \\right) + ^{Sc}(2050)\\] Approximation: Adjust base year scenario emission intensity SBTI PACTA methodology target emissions sector taken climate scenarios. implement global economy top-approach applies absolute emissions value year 2050 converts yearly emission intensities. However, may discrepancies Scenario projected emission intensities, bottom-ABCD emission intensities. reflect discrepancy, adjust scenario projections following factor, \\[\\dfrac{^{ABCD}(t_0)}{^{Sc}(t_0)}\\] yielding adjusted scenario pathway: \\['^{Sc}(t) = \\left(\\dfrac{^{ABCD}(t_0)}{^{Sc}(t_0)}\\right) * ^{Sc}(t)\\] yields final PACTA SDA target equation: \\[^{Target}(t) = \\left( d * p (t) \\right) + '^{Sc}(t)\\] Note: \\(d\\) \\(p(t)\\) also must re-calculated using adjusted scenario intensity, \\('^{Sc}\\).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/articles/target-sda.html","id":"calculating-sda-targets","dir":"Articles","previous_headings":"","what":"Calculating SDA Targets","title":"Sectoral Decarbonization Approach (SDA)","text":"calculate SDA targets need use package r2dii.analysis number datasets, including “matched” dataset (loanbook + asset-level data) can get package r2dii.match. datasets use come package r2dii.data; fake show structure data. Use packages. Match loanbook asset level data. Calculate SDA targets CO2 emissions intensities:","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) loanbook <- r2dii.data::loanbook_demo abcd <- r2dii.data::abcd_demo matched <- match_name(loanbook, abcd) %>% # WARNING: Remember to validate the output of match_name() before prioritize() prioritize() matched #> # A tibble: 168 × 28 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹ #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L13 C297 Ladeck NA #> 3 L20 C287 Weinhold NA #> 4 L21 C286 Gallo Group NA #> 5 L22 C285 Austermuhle GmbH NA #> 6 L24 C282 Ferraro-Ferraro Group NA #> 7 L25 C281 Lockman, Lockman and Lock… NA #> 8 L26 C280 Ankunding, Ankunding and … NA #> 9 L27 C278 Donati-Donati Group NA #> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA #> # ℹ 158 more rows #> # ℹ abbreviated name: ¹​id_intermediate_parent_1 #> # ℹ 24 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , … co2_intensity <- r2dii.data::co2_intensity_scenario_demo matched %>% target_sda(abcd, co2_intensity) #> Warning: Removing rows in abcd where `emission_factor` is NA #> Warning: Found no matching regions for input scenario #> # A tibble: 0 × 4 #> # ℹ 4 variables: sector , year , emission_factor_metric , #> # emission_factor_value "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Alex Axthelm. Author, maintainer. Jackson Hoffart. Author, contractor. Mauro Lepore. Author, contractor. Klaus Hogedorn. Author. Nicky Halterman. Author. Rocky Mountain Institute. Copyright holder, funder.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Axthelm , Hoffart J, Lepore M, Hogedorn K, Halterman N (2024). r2dii.analysis: Measure Climate Scenario Alignment Corporate Loans. R package version 0.3.0.9000, https://rmi-pacta.github.io/r2dii.analysis/, https://github.com/RMI-PACTA/r2dii.analysis.","code":"@Manual{, title = {r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans}, author = {Alex Axthelm and Jackson Hoffart and Mauro Lepore and Klaus Hogedorn and Nicky Halterman}, year = {2024}, note = {R package version 0.3.0.9000, https://rmi-pacta.github.io/r2dii.analysis/}, url = {https://github.com/RMI-PACTA/r2dii.analysis}, }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"r2diianalysis-","dir":"","previous_headings":"","what":"Measure Climate Scenario Alignment of Corporate Loans","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"tools help assess financial portfolio aligns climate goals. summarize key metrics attributed portfolio (e.g. production, emission factors), calculate targets based climate scenarios. implement R last step free software ‘PACTA’ (Paris Agreement Capital Transition Assessment; https://www.transitionmonitor.com/). Financial institutions use ‘PACTA’ study capital allocation impacts climate.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Install released version r2dii.analysis CRAN : install development version r2dii.analysis GitHub :","code":"install.packages(\"r2dii.analysis\") # install.packages(\"devtools\") devtools::install_github(\"RMI-PACTA/r2dii.analysis\")"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"example","dir":"","previous_headings":"","what":"Example","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Use library() attach packages need. r2dii.analysis depend packages r2dii.data r2dii.match; suggest install – install.packages(c(\"r2dii.data\", \"r2dii.match\")) – can reproduce examples. Use r2dii.match::match_name() identify matches loanbook asset level data.","code":"library(r2dii.data) library(r2dii.match) library(r2dii.analysis) matched <- match_name(loanbook_demo, abcd_demo) %>% prioritize()"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"add-scenario-targets","dir":"","previous_headings":"Example","what":"Add Scenario Targets","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"Use target_sda() calculate SDA targets CO2 emissions. Use target_market_share calculate market-share scenario targets portfolio level: company level:","code":"matched %>% target_sda( abcd = abcd_demo, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo ) #> Warning: Removing rows in abcd where `emission_factor` is NA #> # A tibble: 96 × 6 #> sector year region scenario_source emission_factor_metric #> #> 1 steel 2021 advanced economies demo_2020 projected #> 2 steel 2021 global demo_2020 projected #> 3 steel 2022 advanced economies demo_2020 projected #> 4 steel 2022 global demo_2020 projected #> 5 steel 2024 advanced economies demo_2020 projected #> 6 steel 2024 global demo_2020 projected #> 7 steel 2025 advanced economies demo_2020 projected #> 8 steel 2025 global demo_2020 projected #> 9 steel 2027 advanced economies demo_2020 projected #> 10 steel 2027 global demo_2020 projected #> # ℹ 86 more rows #> # ℹ 1 more variable: emission_factor_value matched %>% target_market_share( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) #> # A tibble: 1,232 × 10 #> sector technology year region scenario_source metric production #> #> 1 automotive electric 2020 global demo_2020 projected 3664. #> 2 automotive electric 2020 global demo_2020 target_cps 3664. #> 3 automotive electric 2020 global demo_2020 target_sds 3664. #> 4 automotive electric 2020 global demo_2020 target_sps 3664. #> 5 automotive electric 2021 global demo_2020 projected 8472. #> 6 automotive electric 2021 global demo_2020 target_cps 3845. #> 7 automotive electric 2021 global demo_2020 target_sds 4766. #> 8 automotive electric 2021 global demo_2020 target_sps 3894. #> 9 automotive electric 2022 global demo_2020 projected 8436. #> 10 automotive electric 2022 global demo_2020 target_cps 4023. #> # ℹ 1,222 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope matched %>% target_market_share( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo, by_company = TRUE ) #> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`. #> This will result in company-level results, weighted by the portfolio #> loan size, which is rarely useful. Did you mean to set one of these #> arguments to `FALSE`? #> # A tibble: 3,200 × 11 #> sector technology year region scenario_source name_abcd metric production #> #> 1 automoti… electric 2020 global demo_2020 large au… proje… 713. #> 2 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 3 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 4 automoti… electric 2020 global demo_2020 large au… targe… 713. #> 5 automoti… electric 2020 global demo_2020 large au… proje… 535. #> 6 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 7 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 8 automoti… electric 2020 global demo_2020 large au… targe… 535. #> 9 automoti… electric 2020 global demo_2020 large au… proje… 690. #> 10 automoti… electric 2020 global demo_2020 large au… targe… 690. #> # ℹ 3,190 more rows #> # ℹ 3 more variables: technology_share , scope , #> # percentage_of_initial_production_by_scope "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"utility-functions","dir":"","previous_headings":"Example","what":"Utility Functions","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"target_*() functions provide shortcuts common operations. wrap utility functions may also use directly: Use join_abcd_scenario() join matched dataset relevant scenario data, pick assets relevant regions. Use summarize_weighted_production() different grouping arguments calculate scenario-targets: Get started.","code":"loanbook_joined_to_abcd_scenario <- matched %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # portfolio level loanbook_joined_to_abcd_scenario %>% summarize_weighted_production(scenario, tmsr, smsp, region) #> # A tibble: 558 × 9 #> sector_abcd technology year scenario tmsr smsp region #> #> 1 automotive electric 2020 cps 1 0 global #> 2 automotive electric 2020 sds 1 0 global #> 3 automotive electric 2020 sps 1 0 global #> 4 automotive electric 2021 cps 1.12 0.00108 global #> 5 automotive electric 2021 sds 1.16 0.00653 global #> 6 automotive electric 2021 sps 1.14 0.00137 global #> 7 automotive electric 2022 cps 1.24 0.00213 global #> 8 automotive electric 2022 sds 1.32 0.0131 global #> 9 automotive electric 2022 sps 1.29 0.00273 global #> 10 automotive electric 2023 cps 1.35 0.00316 global #> # ℹ 548 more rows #> # ℹ 2 more variables: weighted_production , #> # weighted_technology_share # company level loanbook_joined_to_abcd_scenario %>% summarize_weighted_production(scenario, tmsr, smsp, region, name_abcd) #> # A tibble: 1,953 × 10 #> sector_abcd technology year scenario tmsr smsp region name_abcd #> #> 1 automotive electric 2020 cps 1 0 global large automotive co… #> 2 automotive electric 2020 cps 1 0 global large automotive co… #> 3 automotive electric 2020 cps 1 0 global large automotive co… #> 4 automotive electric 2020 cps 1 0 global large hdv company t… #> 5 automotive electric 2020 sds 1 0 global large automotive co… #> 6 automotive electric 2020 sds 1 0 global large automotive co… #> 7 automotive electric 2020 sds 1 0 global large automotive co… #> 8 automotive electric 2020 sds 1 0 global large hdv company t… #> 9 automotive electric 2020 sps 1 0 global large automotive co… #> 10 automotive electric 2020 sps 1 0 global large automotive co… #> # ℹ 1,943 more rows #> # ℹ 2 more variables: weighted_production , #> # weighted_technology_share "},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/index.html","id":"funding","dir":"","previous_headings":"","what":"Funding","title":"Measure Climate Scenario Alignment of Corporate Loans","text":"project received funding European Union LIFE program International Climate Initiative (IKI). Federal Ministry Environment, Nature Conservation Nuclear Safety (BMU) supports initiative basis decision adopted German Bundestag. views expressed sole responsibility authors necessarily reflect views funders. funders responsible use may made information contains.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"join_abcd_scenario() simple wrapper several calls dplyr::join_*(), forming master dataset used later steps analysis.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"","code":"join_abcd_scenario( data, abcd, scenario, region_isos = r2dii.data::region_isos, add_green_technologies = FALSE )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"data data frame like output r2dii.match::prioritize. abcd asset level data frame like r2dii.data::abcd_demo. scenario scenario data frame like r2dii.data::scenario_demo_2020. region_isos data frame like r2dii.data::region_isos (default). add_green_technologies Logical vector length 1. FALSE defaults outputting technologies present data abcd. Set FALSE add rows possible green technologies (0 production).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"Returns fully joined data frame, linking portfolio, abcd scenario.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_abcd_scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Join a data-loanbook object to the abcd and scenario — join_abcd_scenario","text":"","code":"installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", versionCheck = \"0.1.0\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) valid_matches <- match_name(loanbook_demo, abcd_demo) %>% # WARNING: Remember to validate matches (see `?prioritize`) prioritize() valid_matches %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) } #> # A tibble: 4,287 × 45 #> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_parent_1 #> #> 1 L6 C304 Kassulke-Kassulke NA #> 2 L6 C304 Kassulke-Kassulke NA #> 3 L6 C304 Kassulke-Kassulke NA #> 4 L6 C304 Kassulke-Kassulke NA #> 5 L6 C304 Kassulke-Kassulke NA #> 6 L6 C304 Kassulke-Kassulke NA #> 7 L6 C304 Kassulke-Kassulke NA #> 8 L6 C304 Kassulke-Kassulke NA #> 9 L6 C304 Kassulke-Kassulke NA #> 10 L6 C304 Kassulke-Kassulke NA #> # ℹ 4,277 more rows #> # ℹ 41 more variables: name_intermediate_parent_1 , #> # id_ultimate_parent , name_ultimate_parent , #> # loan_size_outstanding , loan_size_outstanding_currency , #> # loan_size_credit_limit , loan_size_credit_limit_currency , #> # sector_classification_system , sector_classification_input_type , #> # sector_classification_direct_loantaker , fi_type , …"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":null,"dir":"Reference","previous_headings":"","what":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"function deprecated favour join_abcd_scenario(). See information.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"","code":"join_ald_scenario( data, ald, scenario, region_isos = r2dii.data::region_isos, add_green_technologies = FALSE )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/join_ald_scenario.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Join a data-loanbook object to the ald and scenario — join_ald_scenario","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) valid_matches <- match_name(loanbook_demo, ald_demo) %>% prioritize() valid_matches %>% join_ald_scenario( ald = ald_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # -> valid_matches %>% join_abcd_scenario( abcd = abcd_demo, scenario = scenario_demo_2020, region_isos = region_isos_demo ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/r2dii.analysis-package.html","id":null,"dir":"Reference","previous_headings":"","what":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","title":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","text":"tools help assess corporate lending portfolio aligns climate goals. summarize key climate indicators attributed portfolio (e.g. production, emission factors), calculate alignment targets based climate scenarios. implement R last step free software 'PACTA' (Paris Agreement Capital Transition Assessment; https://www.transitionmonitor.com/). Financial institutions use 'PACTA' study capital allocation decisions align climate change mitigation goals.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/r2dii.analysis-package.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"r2dii.analysis: Measure Climate Scenario Alignment of Corporate Loans — r2dii.analysis-package","text":"Maintainer: Alex Axthelm aaxthelm@rmi.org (ORCID) Authors: Jackson Hoffart jackson.hoffart@gmail.com (ORCID) [contractor] Mauro Lepore maurolepore@gmail.com (ORCID) [contractor] Klaus Hogedorn klaus@2degrees-investing.org Nicky Halterman nicholas..halterman@gmail.com contributors: Rocky Mountain Institute PACTA4banks@rmi.org [copyright holder, funder]","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":null,"dir":"Reference","previous_headings":"","what":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"Based weight loan per sector per year, summarize_weighted_production() summarize_weighted_percent_change() summarize production percent-change, respectively.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"","code":"summarize_weighted_production(data, ..., use_credit_limit = FALSE) summarize_weighted_percent_change(data, ..., use_credit_limit = FALSE)"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"data data frame like output join_abcd_scenario(). ... Variables group . use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE instead use column loan_size_credit_limit.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"tibble groups input () columns: sector, technology, year; weighted_production weighted_production summarize_weighted_production() summarize_weighted_percent_change(), respectively.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"warning","dir":"Reference","previous_headings":"","what":"Warning","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"percent-change analysis excludes companies 0 production. percent-change undefined companies initial production; including companies cause percent-change percentage infinite, wrong.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/summarize_weighted_production.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Summaries based on the weight of each loan per sector per year — summarize_weighted_production","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) loanbook <- head(loanbook_demo, 150) abcd <- head(abcd_demo, 100) master <- loanbook %>% match_name(abcd) %>% prioritize() %>% join_abcd_scenario( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo ) %>% dplyr::filter(production != 0) summarize_weighted_production(master) summarize_weighted_production(master, use_credit_limit = TRUE) summarize_weighted_percent_change(master) summarize_weighted_percent_change(master, use_credit_limit = TRUE) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":null,"dir":"Reference","previous_headings":"","what":"Add targets for production, using the market share approach — target_market_share","title":"Add targets for production, using the market share approach — target_market_share","text":"function calculates portfolio-level production targets, calculated using market share approach applied relevant climate production forecast.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add targets for production, using the market share approach — target_market_share","text":"","code":"target_market_share( data, abcd, scenario, region_isos = r2dii.data::region_isos, use_credit_limit = FALSE, by_company = FALSE, weight_production = TRUE, increasing_or_decreasing = r2dii.data::increasing_or_decreasing, ald = deprecated() )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add targets for production, using the market share approach — target_market_share","text":"data \"data.frame\" like output r2dii.match::prioritize. abcd asset level data frame like r2dii.data::abcd_demo. scenario scenario data frame like r2dii.data::scenario_demo_2020. region_isos data frame like r2dii.data::region_isos (default). use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE use column loan_size_credit_limit instead. by_company Logical vector length 1. FALSE defaults outputting production_value portfolio-level. Set TRUE output production_value company-level. weight_production Logical vector length 1. TRUE defaults outputting production, weighted relative loan-size. Set FALSE output unweighted production values. increasing_or_decreasing data frame like r2dii.data::increasing_or_decreasing. ald ald superseded abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add targets for production, using the market share approach — target_market_share","text":"tibble including summarized columns metric, production, technology_share, percentage_of_initial_production_by_scope scope. by_company = TRUE, output also column name_abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"handling-grouped-data","dir":"Reference","previous_headings":"","what":"Handling grouped data","title":"Add targets for production, using the market share approach — target_market_share","text":"function ignores existing groups outputs ungrouped data.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_market_share.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add targets for production, using the market share approach — target_market_share","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.data\", quietly = TRUE) && requireNamespace(\"r2dii.match\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.data) library(r2dii.match) loanbook <- head(loanbook_demo, 100) abcd <- head(abcd_demo, 100) matched <- loanbook %>% match_name(abcd) %>% prioritize() # Calculate targets at portfolio level matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo ) # Calculate targets at company level matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo, by_company = TRUE ) matched %>% target_market_share( abcd = abcd, scenario = scenario_demo_2020, region_isos = region_isos_demo, # Calculate unweighted targets weight_production = FALSE ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":null,"dir":"Reference","previous_headings":"","what":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"function calculates targets CO2 emissions per unit production portfolio-level, otherwise referred \"emissions factors\". uses sectoral-decarbonization approach (SDA) calculate targets.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"","code":"target_sda( data, abcd, co2_intensity_scenario, use_credit_limit = FALSE, by_company = FALSE, region_isos = r2dii.data::region_isos, ald = deprecated() )"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"data dataframe like output r2dii.match::prioritize(). abcd asset-level data frame like r2dii.data::abcd_demo. co2_intensity_scenario scenario data frame like r2dii.data::co2_intensity_scenario_demo. use_credit_limit Logical vector length 1. FALSE defaults using column loan_size_outstanding. Set TRUE instead use column loan_size_credit_limit. by_company Logical vector length 1. FALSE defaults outputting weighted_production_value portfolio-level. Set TRUE output weighted_production_value company-level. region_isos data frame like r2dii.data::region_isos (default). ald ald superseded abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"tibble including summarized columns emission_factor_metric emission_factor_value. by_company = TRUE, output also column name_abcd.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"handling-grouped-data","dir":"Reference","previous_headings":"","what":"Handling grouped data","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"function ignores existing groups outputs ungrouped data.","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/target_sda.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add targets for CO2 emissions per unit production at the portfolio level,\nusing the SDA approach — target_sda","text":"","code":"if (FALSE) { installed <- requireNamespace(\"r2dii.match\", quietly = TRUE) && requireNamespace(\"r2dii.data\", quietly = TRUE) && packageVersion(\"r2dii.match\") >= \"0.1.0\" if (installed) { library(r2dii.match) library(r2dii.data) loanbook <- head(loanbook_demo, 150) abcd <- head(abcd_demo, 100) matched <- loanbook %>% match_name(abcd) %>% prioritize() # Calculate targets at portfolio level matched %>% target_sda( abcd = abcd, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo ) # Calculate targets at company level matched %>% target_sda( abcd = abcd, co2_intensity_scenario = co2_intensity_scenario_demo, region_isos = region_isos_demo, by_company = TRUE ) } }"},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/tidyeval.html","id":null,"dir":"Reference","previous_headings":"","what":"Tidy eval helpers — tidyeval","title":"Tidy eval helpers — tidyeval","text":"learn tidy eval use tools, check Metaprogramming section Advanced R.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/reference/tidyeval.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Tidy eval helpers — tidyeval","text":"sym() creates symbol string syms() creates list symbols character vector. enquo() enquos() delay execution one several function arguments. enquo() returns single quoted expression, like blueprint delayed computation. enquos() returns list quoted expressions. expr() quotes new expression locally. mostly useful build new expressions around arguments captured enquo() enquos(): expr(mean(!!enquo(arg), na.rm = TRUE)). as_name() transforms quoted variable name string. Supplying something else quoted variable name error. unlike as_label() also returns single string supports kind R object input, including quoted function calls vectors. purpose summarise object single label. label often suitable default name. know quoted expression contains (instance expressions captured enquo() variable name, call function, unquoted constant), use as_label(). know quoted simple variable name, like enforce , use as_name().","code":""},{"path":[]},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-030","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.3.0","title":"r2dii.analysis 0.3.0","text":"CRAN release: 2023-10-23 target_sda now uses final year scenario convergence target by_company = TRUE (#445). target_market_share gains argument increasing_or_decreasing (#426).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-021","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.2.1","title":"r2dii.analysis 0.2.1","text":"CRAN release: 2022-11-03 r2dii.analysis transferred new organization: https://github.com/RMI-PACTA/.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-020","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.2.0","title":"r2dii.analysis 0.2.0","text":"CRAN release: 2022-05-05 New argument abcd target_market_share() target_sda supersedes argument ald (#404). target_sda() now outputs data sector values three input datasets (data, ald co2_intensity_scenario) (#390). target_sda() now outputs unweighted emission_factor by_company TRUE (#376). target_sda() gains region_isos argument (#323). target_market_share() now outputs values years ald scenario inputs (#394). target_market_share() now outputs two new columns, percentage_of_initial_production_by_scope scope (ADO #4143).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-0112","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.12","title":"r2dii.analysis 0.1.12","text":"CRAN release: 2021-08-18 target_market_share() now outputs 0 technology_share, companies 0 sectoral production (#306 @Antoine-Lalechere). target_sda() now filters scenario start year consistent ald start year (#346 @waltjl).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-0110","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.10","title":"r2dii.analysis 0.1.10","text":"CRAN release: 2021-07-09 target_market_share() now sets negative smsp targets zero (#336). target_market_share() now outputs sectors present input datasets (#329). target_market_share() now always adds targets green technologies (defined r2dii.data::green_or_brown), even present input data (#318 @Antoine-Lalechere). target_market_share() now correctly groups region calculating technology_share (#315 @Antoine-Lalechere).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-019","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.9","title":"r2dii.analysis 0.1.9","text":"CRAN release: 2021-06-30 target_sda() now outputs sector values present input co2_intensity_scenario data (#308). target_sda() now outputs targets range years input co2_intenstiy_scenario (#307).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-018","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.8","title":"r2dii.analysis 0.1.8","text":"CRAN release: 2021-05-22 target_market_share() now correctly outputs target technology share, line methodology (@georgeharris2deg #277). target_market_share() now correctly projects technology share ‘production / total production’ computing company, unweighted relative loan size (@KapitanKombajn #288). target_market_share() longer outputs columns sector_weighted_production technology_weighted_production. columns internal shouldn’t face users (#291).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-016","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.6","title":"r2dii.analysis 0.1.6","text":"CRAN release: 2021-03-10 target_market_share() now correctly outputs technology_share multiple loans different level company (@ab-bbva #265).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-015","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.5","title":"r2dii.analysis 0.1.5","text":"CRAN release: 2021-01-22 target_market_share() now errors input data unexpected column (@georgeharris2deg #267). target_market_share() now correctly outputs technology_share multiple loans company (@georgeharris2deg #262, @ab-bbva #265).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-014","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.4","title":"r2dii.analysis 0.1.4","text":"CRAN release: 2021-01-05 target_market_share() now correctly outputs unweighted production company, equal ald-production one company multiple loans different size (#255 @georgeharris2deg).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-013","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.3","title":"r2dii.analysis 0.1.3","text":"CRAN release: 2020-12-15 target_market_share() now correctly outputs unweighted production multiple levels exist company (#249).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-012","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.2","title":"r2dii.analysis 0.1.2","text":"CRAN release: 2020-12-05 target_market_share() now outputs weighted_technology_share correctly sums 1 grouped sector, metric scenario (#218). target_market_share() now correctly outputs unweighted production multiple loans exist company (#239). target_market_share() now outputs empty named tibble matching region definitions can found (#236). target_market_share now outputs technologies present ald, even present data (#235). target_sda() now interpolates input scenario file year correctly calculates target, regardless time-horizon ald (#234). Hyperlinks “Get Started” tab website now points correct links (#222 @apmanning). Depend dplyr >= 0.8.5, explicitly. commit version newer dplyr 1 still relatively new, represents major change users initially resist. Relax dependency rlang, mostly driven dynamically recursive dependencies. example, dplyr 0.8.5 depends specific version rlang recent version explicitly depended – suggests explicit rlang unhelpful misleading. New internal data loanbook_stable region_isos_stable make regression tests stable (#227).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-011","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.1","title":"r2dii.analysis 0.1.1","text":"CRAN release: 2020-09-12 Change license MIT. website’s home page now thanks founders. target_market_share() now works expected value column scenario missing value column region. longer results output columns production technology_share type “list” (#203). website now shows News tab.","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-010","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.1.0","title":"r2dii.analysis 0.1.0","text":"CRAN release: 2020-09-03 target_sda() now correctly handles differing country_of_domicile inputs (#171). target_market_share() now outputs technology_share (#184). join_ald_scenario() now returns visibly dev-magrittr (#188 @lionel-). target_market_share() gains weight_production parameter (#181). target_market_share() now correctly use sector_ald column input data argument (#178). target_sda() now automatically filters ald rows emissions_factor values NA (#173). join_ald_scenario() now converts lower case values columns sector_ald technology (#172). target_sda() now aggregates input ald technology plant_location prior calculating targets (@QianFeng2020 #160). target_sda() now errors input data duplicated id_loan (@QianFeng2020 #164). target_sda() gains by_company parameter (#155). target_market_share() now outputs actual aggregated corporate economy. Previously, output , erroneously, normalized starting portfolio value (#158). target_sda() now correctly calculates SDA targets (#153): Targets now calculated using scenario data adjusted corporate economy data. adjusted scenario data also output function along usual metrics. Methodology error fixed, reflected code. Previously, target , incorrectly, calculated multiplying adjusted scenario. Now scenario data added instead. New summarize_weighted_percent_change() allows user calculate new indicator (#141). target_market_share() longer errors combination sector scenario_target_value uniquely identify observation (@georgeharris2deg #142).","code":""},{"path":"https://rmi-pacta.github.io/r2dii.analysis/dev/news/index.html","id":"r2diianalysis-001","dir":"Changelog","previous_headings":"","what":"r2dii.analysis 0.0.1","title":"r2dii.analysis 0.0.1","text":"CRAN release: 2020-06-28 First release CRAN","code":""}]