@@ -134,20 +134,22 @@ structure_to_plot <- function(data_list, print_columns = TRUE) {
134134 # 1st structure
135135 if (
136136 all(
137- names(data_list ) %in%
138- c(
139- names(lissyrtools :: get_countries_lis()),
140- names(lissyrtools :: get_countries_lws())
141- )
142- )
137+ names(data_list ) %in% (lissyrtools :: metis_countries_df %> % dplyr :: select(name ) %> % unique() %> % dplyr :: pull())
138+ )
143139 ) {
144- result_df <- purrr :: list_rbind(purrr :: imap(
140+
141+ list_of_cc <- lissyrtools :: metis_countries_df %> % dplyr :: filter(name %in% names(data_list )) %> % dplyr :: select(- iso3 ) %> % as.vector()
142+
143+ vector_of_cc <- list_of_cc [[" iso2" ]]
144+ names(vector_of_cc ) <- list_of_cc [[" name" ]]
145+
146+ result_df <- dplyr :: bind_rows(purrr :: imap(
145147 data_list ,
146148 ~ tibble :: enframe(.x , name = " year" , value = " value" ) %> %
147149 dplyr :: mutate(cname = .y )
148150 )) %> %
149151 dplyr :: mutate(
150- cc = lissyrtools :: get_countries_lis() [cname ],
152+ cc = vector_of_cc [cname ],
151153 yy = stringr :: str_sub(year , 3 , 4 ),
152154 dname = paste0(cc , yy ),
153155 year = as.integer(year )
@@ -161,14 +163,14 @@ structure_to_plot <- function(data_list, print_columns = TRUE) {
161163 purrr :: map_chr(data_list , ~ class(.x )[1 ]) %in% c(" numeric" , " integer" )
162164 )
163165 ) {
164- result_df <- purrr :: list_rbind (purrr :: imap(
166+ result_df <- dplyr :: bind_rows (purrr :: imap(
165167 data_list ,
166168 ~ tibble :: enframe(.x , name = " category" , value = " value" ) %> %
167169 dplyr :: mutate(dname = stringr :: str_sub(.y ,1 ,4 ))
168170 )) %> %
169171 dplyr :: mutate(
170- cname = lissyrtools :: ccyy_to_cname (dname ),
171- year = lissyrtools :: ccyy_to_yyyy (dname ),
172+ cname = purrr :: map_chr (dname , lissyrtools :: ccyy_to_cname ),
173+ year = as.integer( purrr :: map_chr (dname , lissyrtools :: ccyy_to_yyyy ) ),
172174 category = stringr :: str_remove(category , " ^\\ [\\ d+\\ ]" ),
173175 year = as.integer(year )
174176 ) %> %
@@ -181,11 +183,11 @@ structure_to_plot <- function(data_list, print_columns = TRUE) {
181183 all(purrr :: map_chr(data_list , ~ class(.x )[1 ]) == " list" )
182184 )
183185 ) {
184- result_df <- purrr :: list_rbind (purrr :: imap(
186+ result_df <- dplyr :: bind_rows (purrr :: imap(
185187 data_list ,
186188 ~ {
187189 outer_name <- stringr :: str_sub(.y ,1 ,4 )
188- purrr :: list_rbind (purrr :: imap(.x , function (sublist , subgroup ) {
190+ dplyr :: bind_rows (purrr :: imap(.x , function (sublist , subgroup ) {
189191 # subgroup would be the categorical variable in run_weighted_mean or run_weighted_percentiles
190192 tibble :: enframe(sublist , name = " vector_names" , value = " value" ) %> % # vector_names: could be percentiles, shares, averages or the by var in run_weighted_count
191193 dplyr :: mutate(
@@ -197,8 +199,8 @@ structure_to_plot <- function(data_list, print_columns = TRUE) {
197199 }
198200 )) %> %
199201 dplyr :: mutate(
200- cname = lissyrtools :: ccyy_to_cname (dname ),
201- year = as.integer(lissyrtools :: ccyy_to_yyyy (dname ))
202+ cname = purrr :: map_chr (dname , lissyrtools :: ccyy_to_cname ),
203+ year = as.integer(purrr :: map_chr (dname , lissyrtools :: ccyy_to_yyyy ))
202204 ) %> %
203205 dplyr :: select(cname , year , dname , category , name , value )
204206
0 commit comments