purrr::map2
でベースを作ったあと、引数をさらに増やしたいときがあるmap2
で扱える引数は2つまでなので、引数を増やすにはpurrr::pmap
を使うpmap
は 引数の指定はやや特殊map2
のように.x
.y
…ではなく、pmap
では..1
..2
..3
…としなくてはならない
map2
でベースを作成
iris %>% group_nest(Species) %>% mutate( A = c(100, 200, 300), B = c(100, 200, 300) ) %>% mutate( C = map2( .x = data, .y = A, .f = ~ {.x + .y} ) ) %>% unnest(C)
動く!
pmap
に変更
iris %>% group_nest(Species) %>% mutate( A = c(100, 200, 300), B = c(100, 200, 300) ) %>% mutate( C = pmap( .l = list(data, A), .f = ~ {.x + .y} ) ) %>% unnest(C)
まだ動く!
pmap
で引数を1つ追加
iris %>% group_nest(Species) %>% mutate( A = c(100, 200, 300), B = c(100, 200, 300) ) %>% mutate( C = pmap( .l = list(data, A, B), .f = ~ {.x + .y + .z} ) ) %>% unnest(C)
動かない!!
pmap
の引数の指定方法を変更
iris %>% group_nest(Species) %>% mutate( A = c(100, 200, 300), B = c(100, 200, 300) ) %>% mutate( C = pmap( .l = list(data, A, B), .f = ~ {..1 + ..2 + ..3} ) ) %>% unnest(C)
動いた!!!