Чи є якась причина, чому я повинен використовувати
map(<list-like-object>, function(x) <do stuff>)
замість
lapply(<list-like-object>, function(x) <do stuff>)
висновок повинен бути однаковим, і показники, які я зробив, здаються, показують, що lapplyце трохи швидше (він повинен бути таким, як mapпотрібно оцінювати всі дані нестандартної оцінки).
То чи є причина, чому я для таких простих випадків насправді повинен розглянути питання про перехід purrr::map? Я не розпитую тут про власні симпатії чи невдоволення щодо синтаксису, інших функціональних можливостей, що надаються purrr тощо, а строго про порівняння purrr::mapз lapplyприпущенням використання стандартного оцінювання, тобто map(<list-like-object>, function(x) <do stuff>). Чи є якась перевага, яка purrr::mapмає продуктивність, обробку винятків тощо? Зауважені нижче коментарі говорять про те, що це не так, але, можливо, хтось міг би розробити трохи більше?
~{}ярлик лямбда (із {}печаткою або без неї, угода для мене звичайна purrr::map(). Виконання типу purrr::map_…()зручно і менш тупо, ніж vapply().) purrr::map_df()- це дуже дорога функція, але вона також спрощує код. Немає нічого поганого в дотриманні основи R [lsv]apply(), хоча .
purrrречі. Моя суть у наступному: tidyverseчудова для аналізу / інтерактивного / звітів, а не для програмування. Якщо вам потрібно скористатися, lapplyабо mapви програмуєте, і, можливо, один день створіть пакет. Тоді менше залежностей, тим кращих. Плюс: я колись бачу, як люди користуються mapіз досить незрозумілим синтаксисом після. І тепер, коли я бачу тестування виступів: якщо ви звикли до applyсім'ї: дотримуйтесь цього.

tidyverse, можливо, ви можете скористатись синтаксисом труби%>%та анонімних функцій~ .x + 1