我正在尝试使用
pmap()
从
purrr
包来简化我的代码。
我有一个向量列表
x
; 所有向量的长度都相同。我想找出列表中所有向量的所有n个元素的均值和方差。也就是说,我想要所有第一个元素,所有第二个元素的均值和方差,依此类推。
在
tidyverse
,我会皈依
十、
到矩阵并使用
apply()
.
x <- list(1:10, 1:10, 1:10)
x_matrix <- do.call(cbind, x)
apply(x_matrix, 1, mean)
## [1] 1 2 3 4 5 6 7 8 9 10
apply(x_matrix, 1, var)
## [1] 0 0 0 0 0 0 0 0 0 0
pmap()
应允许在不进行矩阵转换的情况下进行此操作。
pmap_dbl()
可以代替
应用()
和
mean()
上面的计算。
library(purrr)
pmap_dbl(x, mean)
## [1] 1 2 3 4 5 6 7 8 9 10
然而,我不能
pmap_dbl()
和
var()
还有计算。我明白了
NA
每一个差异。
pmap_dbl(x, var)
## [1] NA NA NA NA NA NA NA NA NA NA
我错过了什么?