Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用purrr生成嵌套观测_R_Dplyr_Purrr - Fatal编程技术网

使用purrr生成嵌套观测

使用purrr生成嵌套观测,r,dplyr,purrr,R,Dplyr,Purrr,我想在一个数据帧中生成几个由其他列参数化的密度。以下是到目前为止的一些代码: library(tidyverse) a = c(2,3,4) b = c(10,11,10) params = expand.grid(a, b) bdens = function(a, b){ dens = dbeta(x = seq(0,1,0.01), shape1 = a, shape2 = b) return(dens) } 如何使用purrr和dplyr以我所描述的方式创建

我想在一个数据帧中生成几个由其他列参数化的密度。以下是到目前为止的一些代码:

library(tidyverse)

a = c(2,3,4)
b = c(10,11,10)

params = expand.grid(a, b)

bdens = function(a, b){
    dens =  dbeta(x = seq(0,1,0.01), shape1 = a, shape2  = b)
    return(dens)
  }

如何使用purrr和dplyr以我所描述的方式创建嵌套观测值?

如果我们为参数提供函数的参数名,我们可以将其传递给
pmap

library(purrr)
set.seed(24)
params$dbetacol <- pmap_dbl(c(list(x = rnorm(9)), 
              setNames(params, c('shape1', 'shape2'))), dbeta)
返回
向量的
列表
,其
长度
等于“params”数据集的行数,即,对于每行的每对
形状
参数,计算相同的“x”值的beta分布密度,即101个元素(
seq(0,1,0.01)


您希望应用哪个函数?类似于
pmap_dbl(setNames(params,c('x','size')),dbinom,prob=0.5)
@akrun darn,我知道我写了二项式,我是说beta。我将通过邮寄进行更改。这是用于that@akrundbeta是beta密度dbeta有参数
dbeta(x,shape1,shape2,ncp=0,log=FALSE)
。您提供的数据只有两个参数。那些是形状1和形状2。。我不清楚。
lst <- pmap(setNames(params, c('a', 'b')), bdens)
length(lst)
#[1] 9
lengths(lst)
#[1] 101 101 101 101 101 101 101 101 101