Мне интересно, есть ли способ указать, какие столбцы должны соответствовать аргументам при вызове pmap
в data.frame
или именованном списке.
Поведение по умолчанию, которое полезно и интуитивно понятно в большинстве случаев это сопоставление имен столбцов с именами аргументов, как в
check_row_deidentified <- function(encntr_key, clinical_event_key, note_value, ...) {
# Do stuff
tibble::tibble(encntr_key, clinical_event_key, note_value)
}
notes_1 <- tibble::tibble(
encntr_key = c(1,2,3),
clinical_event_key = c(1,2,3),
note_value = c("foo", "bar", "baz")
)
out <- notes_1 %>%
purrr::pmap_dfr(check_row_deidentified)
Но мне интересно, есть ли способ предоставить ввод с другими именами столбцов и указать, как pmap должен их обрабатывать.
Как в:
check_row_deidentified <- function(encntr_key, clinical_event_key, note_value, ...) {
# Do stuff
}
notes_1 <- tibble::tibble(
key_enc = c(1,2,3),
key_clinical = c(1,2,3),
free_text = c("foo", "bar", "baz")
)
out <- notes_1 %>%
purrr::pmap_dfr(check_row_deidentified, encntr_key = key_enc, clinical_event_key = key_clinical, note_value = note_value)
Думаю, очевидным выбором было бы просто переименовать эти столбцы перед вызовом pmap
, как в
# Given as arg
to_rename <- rlang::exprs(
note_value = free_text,
encntr_key = key_enc,
clinical_event_key = key_clinical
)
notes_1 %>%
dplyr::rename(!!!to_rename) %>%
purrr::pmap_dfr(check_row_deidentified)
Но я Не уверен, существует ли что-то менее запутанное