【发布时间】:2017-06-08 13:53:37
【问题描述】:
阅读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的做法是什么呢?
【问题讨论】:
-
我认为你需要
tidyr::unnest在链的末尾。我不知道这是否是“咕噜方式”,但它是一种方式。