Вызов одной и той же функции несколько раз для одних и тех же данных, но разных аргументов с использованием purrr - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь вызывать одну и ту же функцию несколько раз для одних и тех же данных, но с разными аргументами функции. Моя проблема может быть описана как:

x <- as.character(1:5)
l <- list(list(name = "a", collapse = ""), list(name = "b", collapse = "-"))
output <- list()

for(l_cur in l) {
  output[[l_cur$name]] <- x %>% paste(collapse = l_cur$collapse)
}

Есть ли более чистый способ сделать это, используя purrr?
(Справочная информация: я хочу использовать это с rvest, потому что я звоню html_nodes() на одних и тех же данных несколько раз, но я меняю только аргумент css. *

1 Ответ

1 голос
/ 02 апреля 2020

Возможно, вы можете использовать:

library(purrr)
map(l, ~x %>% paste(collapse = .x$collapse)) %>% set_names(map(l, pluck, "name"))

#$a
#[1] "12345"

#$b
#[1] "1-2-3-4-5"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...