@@ -83,7 +83,11 @@ score_transition_risk <- function(emissions_profile,
8383 get_rows_union_for_common_cols(
8484 emissions_profile_at_product_level ,
8585 sector_profile_at_product_level
86- )
86+ ) | >
87+ group_by(across(- c(" tilt_sector" , " tilt_subsector" , " isic_4digit" ))) | >
88+ filter(! (is.na(.data $ tilt_sector ) & is.na(.data $ tilt_subsector ) & is.na(.data $ isic_4digit ) & n() > 1 )) | >
89+ ungroup()
90+
8791 trs_emissions <-
8892 prepare_trs_emissions(emissions_profile_at_product_level , include_co2 )
8993 trs_sector <-
@@ -102,37 +106,34 @@ score_transition_risk <- function(emissions_profile,
102106 by = c(" companies_id" , " ep_product" , " activity_uuid_product_uuid" ),
103107 relationship = " many-to-many"
104108 ) | >
105- relocate(
106- relocate_trs_columns(product_level_trs_column()),
107- " profile_ranking" ,
108- " reduction_targets"
109- ) | >
109+ relocate(relocate_trs_columns_product(include_co2 )) | >
110110 distinct()
111111
112112 emissions_profile_at_company_level <- unnest_company(emissions_profile ) | >
113- select(
114- c(" companies_id" ,
115- " benchmark" ,
116- " emission_profile" ,
117- " emission_profile_share" ,
118- " profile_ranking_avg" ,
119- if (include_co2 ) " co2_avg"
120- )
121- )
113+ select(c(
114+ " companies_id" ,
115+ " benchmark" ,
116+ " emission_profile" ,
117+ " emission_profile_share" ,
118+ " profile_ranking_avg" ,
119+ if (include_co2 ) " co2_avg"
120+ ))
122121
123122 sector_profile_at_company_level <- unnest_company(sector_profile ) | >
124- select(c(" companies_id" ,
125- " sector_profile" ,
126- " sector_profile_share" ,
127- " scenario" ,
128- " year" ,
129- " reduction_targets_avg" ))
123+ select(c(
124+ " companies_id" ,
125+ " sector_profile" ,
126+ " sector_profile_share" ,
127+ " scenario" ,
128+ " year" ,
129+ " reduction_targets_avg"
130+ ))
130131
131132 trs_company <- trs_product | >
132133 select(common_columns_emissions_sector_at_company_level(), " benchmark_tr_score" , product_level_trs_column()) | >
133134 distinct() | >
134135 create_trs_average() | >
135- select(- product_level_trs_column()) | >
136+ select(- product_level_trs_column(), - c( " benchmark_tr_score " ) ) | >
136137 left_join(
137138 emissions_profile_at_company_level ,
138139 relationship = " many-to-many" ,
@@ -143,8 +144,8 @@ score_transition_risk <- function(emissions_profile,
143144 relationship = " many-to-many" ,
144145 by = c(" companies_id" )
145146 ) | >
146- relocate(relocate_trs_columns(company_level_trs_avg_column()) ) | >
147- rename( benchmark_tr_score_avg = " benchmark_tr_score " ) | >
147+ add_benchmark_tr_score_avg( ) | >
148+ relocate(relocate_trs_columns_company( include_co2 ) ) | >
148149 distinct()
149150
150151 nest_levels(trs_product , trs_company )
@@ -155,7 +156,7 @@ create_benchmarks_tr_score <- function(data) {
155156 data ,
156157 benchmark_tr_score = ifelse(
157158 is.na(.data $ profile_ranking ) | is.na(.data $ reduction_targets ),
158- NA ,
159+ NA_character_ ,
159160 paste(.data $ scenario , .data $ year , .data $ benchmark , sep = " _" )
160161 )
161162 )
@@ -172,3 +173,14 @@ create_trs_average <- function(data) {
172173limit_transition_risk_score_between_0_and_1 <- function (data ) {
173174 mutate(data , transition_risk_score = pmin(pmax(data $ transition_risk_score , 0 ), 1 ))
174175}
176+
177+ add_benchmark_tr_score_avg <- function (data ) {
178+ mutate(
179+ data ,
180+ benchmark_tr_score_avg = ifelse(
181+ is.na(.data $ profile_ranking_avg ) | is.na(.data $ reduction_targets_avg ),
182+ NA_character_ ,
183+ paste(.data $ scenario , .data $ year , .data $ benchmark , sep = " _" )
184+ )
185+ )
186+ }
0 commit comments