【问题标题】:Assigning a list of lists as a nested column将列表列表分配为嵌套列
【发布时间】:2018-02-06 15:16:59
【问题描述】:

我想用purrr根据一些参数生成一些数据。

下面显示的是一个脚本,它将生成 0 到 1 的 beta 密度,由 ab 参数化(数据框的列 params

library(tidyverse)

a = c(2,4,6)
b = c(10,12,14)

params = expand.grid(a = a, b = b)

gen_den = function(a,b){ 
  x = seq(0,1,0.1)
  den = dbeta(x = x, shape1 = a, shape2 = b)

  return(den)
  }

# Want to assign this as a nested column
 params %>% 
  pmap(gen_den)

我想知道是否可以将pmap 的结果分配给一列,其中每个观察值都是一个嵌套数据框。下面显示的是一些所需的输出。这里,data 列是gen_den(a,b) 的输出。

【问题讨论】:

    标签: r tidyverse tidyr


    【解决方案1】:

    我想你只需要

     params %>% 
       mutate(den = pmap(params, gen_den)) 
    

    我本人最近刚刚问过a tangentially related question,现在还可以为您提供一些您可能会觉得有用的变体语法:

     params %>% 
        {mutate(., den = pmap(., gen_den))} 
    

    如果您不喜欢多次输入params,此版本可能会更好看。

    【讨论】:

    • 为什么不只是map,因为只有一个函数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2012-10-20
    • 2017-06-17
    相关资源
    最近更新 更多