我认为map_df
系列可以完全取代plyr::ldply
,因为很久以前purrr
包中的发行说明已经声明了。但是,我很沮丧地意识到在这种情况下我找不到简单而优雅的解决方案。
params <- tribble(
~mean, ~sd,
5, 1,
10, 5,
-3, 10)
params %>%
pmap_dfr(rnorm, n = 5)
将返回错误消息:
Error in bind_rows_(x, .id) : Argument 1 must have names
这是因为* _df函数使用dplyr::bind_rows
,bind_rows
仅允许命名列表,在上面的示例中不能也不必满足。
要获得数据框,我能想到的最简单的方法是使用
params %>%
pmap(rnorm, n = 5) %>%
ldply
因此,我的问题是:是否有更简单的方法在purrr
(或在tidyverse中)使用ONLY函数来实现我需要的结果数据帧?谢谢!
答案 0 :(得分:0)
我们需要一个名为list
的
pmap(params, rnorm, n = 5) %>%
set_names(paste0("col", 1:3)) %>%
bind_rows