Apakah ada alasan mengapa saya harus menggunakannya
map(<list-like-object>, function(x) <do stuff>)
dari pada
lapply(<list-like-object>, function(x) <do stuff>)
outputnya harus sama dan tolok ukur yang saya buat nampaknya menunjukkan bahwa lapplysedikit lebih cepat (harus sesuai dengan mapkebutuhan untuk mengevaluasi semua input non-standar-evaluasi).
Jadi apakah ada alasan mengapa untuk kasus sederhana seperti itu saya benar-benar harus mempertimbangkan untuk beralih ke purrr::map? Saya tidak bertanya di sini tentang suka atau tidak suka seseorang tentang sintaks, fungsi lain yang disediakan oleh purrr dll, tetapi hanya tentang perbandingan purrr::mapdengan lapplyasumsi menggunakan evaluasi standar, yaitu map(<list-like-object>, function(x) <do stuff>). Apakah ada kelebihan yang purrr::mapdimiliki dalam hal kinerja, penanganan pengecualian, dll.? Komentar di bawah ini menunjukkan bahwa tidak, tetapi mungkin seseorang dapat menguraikan sedikit lebih banyak?
~{}pintas lambda (dengan atau tanpa {}segel kesepakatan bagi saya untuk polos purrr::map(). Jenis-penegakan purrr::map_…()yang berguna dan kurang tumpul dari vapply(). purrr::map_df()adalah fungsi super mahal tetapi juga menyederhanakan kode. Sama sekali tidak ada yang salah dengan bertahan dengan basis R [lsv]apply(), meskipun .
purrrbarang. Maksud saya adalah sebagai berikut: tidyverseluar biasa untuk analisis / interaktif / melaporkan barang, bukan untuk pemrograman. Jika Anda harus menggunakan lapplyatau mapkemudian Anda sedang pemrograman dan mungkin berakhir suatu hari dengan membuat paket. Maka semakin sedikit ketergantungan yang terbaik. Plus: Saya kadang-kadang melihat orang menggunakan mapsintaks yang tidak jelas setelahnya. Dan sekarang saya melihat pengujian kinerja: jika Anda terbiasa dengan applykeluarga: patuhi itu.

tidyverse, Anda mungkin mendapat manfaat dari sintaksis%>%fungsi pipa dan anonim~ .x + 1