@@ -51,6 +51,41 @@ load_forecast_data_raw <- function(forecaster) {
51
51
# Have loading function use the cache.
52
52
load_forecast_data <- memoise :: memoise(load_forecast_data_raw , cache = cache )
53
53
54
+ # ' create a data table for the shiny plot of the forecasters present
55
+ # ' @description
56
+ prepare_forecaster_table <- function (selected_forecasters ) {
57
+ forecasters <- tar_read(forecaster_params_grid ) %> %
58
+ select(- id ) %> %
59
+ mutate(across(where(is.list ), map , `%||%` , c(0 , 7 , 14 ))) %> %
60
+ mutate(lags = paste(lags , sep = " ," )) %> %
61
+ group_by(parent_id ) %> %
62
+ mutate(ahead = toString(unique(ahead ))) %> %
63
+ ungroup() %> %
64
+ distinct(parent_id , .keep_all = TRUE ) %> %
65
+ rename(name = parent_id ) %> %
66
+ select(name , everything())
67
+ forecasters $ present <- map_vec(paste0(" score_" , forecasters $ name ), \(x ) x %in% selected_forecasters )
68
+ return (forecasters )
69
+ }
70
+
71
+ # ' create a data table for the shiny plot of the ensembles present
72
+ # ' @description
73
+ prepare_ensemble_table <- function (selected_forecasters ) {
74
+ forecasters <- tar_read(ensemble_forecasters ) %> %
75
+ select(- id ) %> %
76
+ group_by(parent_id ) %> %
77
+ mutate(ahead = toString(unique(ahead ))) %> %
78
+ ungroup() %> %
79
+ distinct(parent_id , .keep_all = TRUE ) %> %
80
+ rename(name = parent_id ) %> %
81
+ mutate(ensemble_params = paste(ensemble_params , sep = " ," )) %> %
82
+ mutate(forecaster_ids = paste(forecaster_ids , sep = " ," )) %> %
83
+ select(name , everything()) %> %
84
+ select(- forecasters )
85
+ print(selected_forecasters )
86
+ forecasters $ present <- map_vec(paste0(" ensemble_score_" , forecasters $ name ), \(x ) x %in% selected_forecasters )
87
+ return (forecasters )
88
+ }
54
89
# ### Adapted from shiny-eval.R from cmu-delphi/hospitalization-forecaster
55
90
56
91
shinyApp(
@@ -244,29 +279,10 @@ shinyApp(
244
279
}
245
280
})
246
281
output $ forecaster_table <- renderDataTable(
247
- tar_read(forecaster_params_grid ) %> %
248
- select(- id ) %> %
249
- mutate(across(where(is.list ), map , `%||%` , c(0 , 7 , 14 ))) %> %
250
- mutate(lags = paste(lags , sep = " ," )) %> %
251
- group_by(parent_id ) %> %
252
- mutate(ahead = toString(unique(ahead ))) %> %
253
- ungroup() %> %
254
- distinct(parent_id , .keep_all = TRUE ) %> %
255
- rename(name = parent_id ) %> %
256
- select(name , everything())
282
+ prepare_forecaster_table(input $ selected_forecasters )
257
283
)
258
284
output $ ensemble_table <- renderDataTable(
259
- tar_read(ensemble_forecasters ) %> %
260
- select(- id ) %> %
261
- group_by(parent_id ) %> %
262
- mutate(ahead = toString(unique(ahead ))) %> %
263
- ungroup() %> %
264
- distinct(parent_id , .keep_all = TRUE ) %> %
265
- rename(name = parent_id ) %> %
266
- mutate(ensemble_params = paste(ensemble_params , sep = " ," )) %> %
267
- mutate(forecaster_ids = paste(forecaster_ids , sep = " ," )) %> %
268
- select(name , everything()) %> %
269
- select(- forecasters )
285
+ prepare_ensemble_table(input $ selected_forecasters )
270
286
)
271
287
}
272
288
)
0 commit comments