Closed andrewallenbruce closed 7 months ago
old code
## ------------------------------------------------------------------------
if (pivot) {
pcol <- c(paste0('name_', 1:5),
paste0('covered_', 1:5),
paste0('type_', 1:5),
paste0('category_', 1:5),
paste0('ndc_', 1:5),
paste0('pdi_', 1:5))
results <- results |>
dplyr::mutate(top_id = dplyr::row_number(), .before = name_1) |>
tidyr::pivot_longer(
cols = dplyr::any_of(pcol),
names_to = c("attr", "group"),
names_pattern = "(.*)_(.)",
values_to = "val") |>
dplyr::arrange(id) |>
tidyr::pivot_wider(names_from = attr,
values_from = val,
values_fn = list) |>
tidyr::unnest(cols = dplyr::any_of(c('name', 'covered', 'type', 'category', 'ndc', 'pdi'))) |>
dplyr::mutate(covered = dplyr::case_match(covered, "Covered" ~ TRUE, "Non-Covered" ~ FALSE, .default = NA)) |>
dplyr::filter(!is.na(name)) |>
dplyr::mutate(group = as.integer(group),
pay_total = dplyr::if_else(group > 1, NA, pay_total))
if (rlang::has_name(results, "pdi")) results$pdi <- dplyr::na_if(results$pdi, "N/A")
## ------------------------------------------------------------------------
Problem: Find the smallest group of variables to indicate a change, row-to-row:
Created on 2023-11-13 with reprex v2.0.2
Using some implementation of
dplyr::row_number
and/ordplyr::consecutive_id
or similar.