阅读https://twitter.com/hadleywickham/status/719542847045636096我明白 purrr
方法基本上应该取代 do
.
因此,我想知道如何使用 purrr
来做到这一点:
library(dplyr)
d <- data_frame(n = 1:3)
d %>% rowwise() %>% do(data_frame(x = seq_len(.$n))) %>% ungroup()
# # tibble [6 x 1]
# x
# * <int>
# 1 1
# 2 1
# 3 2
# 4 1
# 5 2
# 6 3
我能得到的最接近的是:
library(purrrr)
d %>% mutate(x = map(n, seq_len))
# # A tibble: 3 x 2
# n x
# <int> <list>
# 1 1 <int [1]>
# 2 2 <int [2]>
# 3 3 <int [3]>
map_int
不起作用 . 那么 purrrr
这样做的方式是什么?
2 回答
您可以执行以下操作:
by_row
将函数应用于每一行,将结果存储在嵌套的元组中 . 然后使用unnest
删除嵌套并连接元组 .使用
pmap()
无需嵌套和取消 .