pmap行为不一致?

问题描述 投票:0回答:1

比较

mtcars %>% mutate(a = pmap(list(gear, carb), sum))

如期 "工作",与

mtcars %>% mutate(a = pmap(list(gear, carb), mean))

这不。

显然我漏掉了什么。

r purrr pmap
1个回答
0
投票

区别与函数接口有关。sum() 接受任何数量的参数(通常被称为 "点"),而 mean() 期待一个向量。

sum( 1, 2, 3 )       # 6
mean( c(1,2,3) )     # 2

要使用一个基于向量的函数,比如 mean()pmap(),你可以 撤域 从矢量到点。

mtcars %>% mutate(a = pmap(list(gear, carb), lift_vd(mean)))    # Now works as expected
© www.soinside.com 2019 - 2024. All rights reserved.