Я использую pmap
для запуска одной и той же функции на нескольких фреймах данных и хочу назначить каждый элемент списка вывода отдельному объекту с именем, имеющим шаблон. Но я не могу понять, как это сделать.
Например, вот минимальный пример, где я вычисляю квантили для трех разных переменных -
# function call
purrr::pmap(.l = list(
x = list(iris$Sepal.Length, mtcars$wt, anscombe$y4),
probs = list(seq(0, 1, 0.10)),
na.rm = list(TRUE)
),
.f = stats::quantile)
# output
#> [[1]]
#> 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
#> 4.30 4.80 5.00 5.27 5.60 5.80 6.10 6.30 6.52 6.90 7.90
#>
#> [[2]]
#> 0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
#> 1.5130 1.9555 2.3490 2.7730 3.1580 3.3250 3.4400 3.5550 3.7700 4.0475
#> 100%
#> 5.4240
#>
#> [[3]]
#> 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
#> 5.25 5.56 5.76 6.58 6.89 7.04 7.71 7.91 8.47 8.84 12.50
Создает list
из 3 элементов (каждый из которых является кадром данных). Вместо того, чтобы получить list
взамен, я хочу автоматически назначать каждый элемент объекту с именем шаблона (например, [[1]]
как df_1
, [[2]]
как df_2
, [[3]]
как df_3
, так далее.). (Я знаю о функции assign
, но не могу понять, как ее объединить с purrr
.)