Comparing VI versus fLUE

Which one performs best?

best_ind <- rsq |> 
  filter(cluster != "cNA") |> 
  group_by(index) |> 
  summarise(rsq = median(rsq)) |> 
  arrange(desc(rsq)) |> 
  dplyr::slice(1:10) |> 
  pull(index)

rsq |> 
  filter(index %in% best_ind, cluster != "cNA") |> 
  mutate(index = fct_reorder(index, rsq, .fun = "mean")) |> 
  ggplot() +
  geom_boxplot(
    aes(
      reorder(index, desc(rsq)),
      rsq
    ),
    fill = "grey"
  ) +
  facet_wrap(~cluster, nrow = 3) +
  theme_classic()

rank_vi <- rsq |>
  ungroup() |>
  group_by(cluster) |>
  mutate(
    rsq_flue = quantile(rsq[index == "flue_predicted"], 0.5)
  ) |>
  filter(
    !flue,
    rsq > rsq_flue
  ) |>
  select(
    index,
    rsq
  ) |>
  group_by(cluster, index) |>
  summarize(
    rsq = mean(rsq)
  )
## Adding missing grouping variables: `cluster`
## `summarise()` has grouped output by 'cluster'. You can override using the
## `.groups` argument.
reactable::reactable(rank_vi)