내가 사용해야하는 이유가 있습니까?
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()
매우 비싼 기능이지만 코드를 단순화한다. [lsv]apply()
하지만 기본 R을 고수하는 데 아무런 문제가 없다. .
purrr
물건을 사용하지 않을 것입니다. 내 요점은 다음과 같습니다 tidyverse
. 프로그래밍이 아닌 분석 / 대화 형 / 보고서에 훌륭합니다. 당신이 사용하고 lapply
있거나 map
프로그래밍 중이 라면 언젠가는 패키지를 만들 수 있습니다. 그런 다음 적은 종속성이 가장 좋습니다. 플러스 : 언젠가 사람들 map
이 상당히 모호한 구문을 사용 하는 것을 보았습니다 . 그리고 이제 성능 테스트를 볼 apply
수 있습니다. 가족에 익숙하다면 : 충실히 따르십시오.
tidyverse
파이프%>%
및 익명 함수~ .x + 1
구문을 활용할 수 있습니다.