Skip to content

Commit 80e3142

Browse files
committed
make prediction summary more efficient
1 parent e8abf5a commit 80e3142

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

R/utils-methods.R

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -103,27 +103,29 @@ summarize_probs <- function(x, probs, id, optim) {
103103

104104
sum_frame <- x %>%
105105
dplyr::mutate(dplyr::across(dplyr::where(posterior::is_rvar),
106-
~lapply(.x, summarize_rvar, probs = probs))) %>%
106+
~lapply(.x, summarize_rvar, probs = probs,
107+
optim = optim))) %>%
107108
tidyr::pivot_longer(cols = dplyr::all_of(summary_names),
108109
names_to = type,
109110
values_to = "summary") %>%
110111
tidyr::unnest("summary")
111112

112-
if (optim) {
113-
sum_frame <- sum_frame %>%
114-
dplyr::select(!!id, !!type, "probability")
115-
}
116-
117113
return(sum_frame)
118114
}
119115

120-
summarize_rvar <- function(rv, probs) {
121-
tibble::tibble(probability = E(rv),
122-
bounds = tibble::as_tibble_row(
123-
stats::quantile(rv, probs = probs, names = TRUE),
124-
.name_repair = ~paste0(probs * 100, "%")
125-
)) %>%
126-
tidyr::unnest("bounds")
116+
summarize_rvar <- function(rv, probs, optim) {
117+
ret_frame <- if (optim) {
118+
tibble::tibble(probability = E(rv))
119+
} else {
120+
tibble::tibble(probability = E(rv),
121+
bounds = tibble::as_tibble_row(
122+
stats::quantile(rv, probs = probs, names = TRUE),
123+
.name_repair = ~paste0(probs * 100, "%")
124+
)) %>%
125+
tidyr::unnest("bounds")
126+
}
127+
128+
return(ret_frame)
127129
}
128130

129131
calculate_probs_no_summary <- function(ret_list, method) {

0 commit comments

Comments
 (0)