对所有参数组合进行矢量化

先生

有没有办法在多个参数的所有组合上向量化 R 函数并将结果作为列表返回?

例如,使用 Vectorize overrnorm会产生以下结果,但我想要一个与每个参数组合相对应的向量列表(因此它应该返回一个包含 60 个向量的列表,而不仅仅是 5 个):

> vrnorm <- Vectorize(rnorm)

> vrnorm( 10*1:5, mean = 1:4, sd = 1:3)

[[1]]
 [1]  1.37858918 -0.85432372  1.87321175  2.08362291  0.02950438  1.67967249
 [7]  2.25954748  1.44031251  0.09816078  0.91365201

[[2]]
 [1]  1.7717267  1.7961157  2.3291686  2.6114272  2.6228930 -0.2580403
 [7]  3.3232109 -0.4652434 -0.4803258 -0.1170871  0.1158350 -1.0902252
[13] -0.6400934  3.6625290  2.5924096  4.5878564  0.7265718  3.2034281
[19] -0.2499768  2.0164275

[[3]]
 [1]  5.8251252  3.1089121  2.8893594  2.9079357  1.9308677  4.3359878
 [7] -0.3668157  4.9728508 -0.6494110  6.7729562  6.1623976 -0.1696638
[13]  5.4664038  3.8141798 -3.1842879  2.3985010  0.3840465  4.0696628
[19]  4.8217798  3.3135100  4.9028273  3.6193840  4.8861864  3.9871897
[25] -0.1059491  3.8961742  4.8293925  3.8935335  6.3194862  4.7846143

[[4]]
 [1] 3.737043 2.849215 4.611868 3.494396 2.909659 4.861474 2.000194 3.343171
 [9] 4.019523 3.277575 3.885272 3.331160 4.581551 4.960162 3.061960 5.359514
[17] 4.651848 3.640535 3.612368 4.338019 5.233665 3.585976 4.018191 4.320883
[25] 2.598541 3.519587 5.231375 4.733647 2.493334 2.791483 4.330052 2.498424
[33] 3.317115 3.515012 5.079780 4.720884 3.055191 5.262385 1.939961 4.779480

[[5]]
 [1]  4.31697756  0.93754587  3.96698522 -0.03680018  1.94987430  1.73985617
 [7] -1.42300550  2.07764933  0.45701395  2.42548257  0.67745524 -2.42054060
[13]  1.14655845  1.60277193 -1.04636658  0.94097335  3.07688803  0.58049012
[19]  1.25812532  1.91613097 -2.95408979  3.00990345 -0.67314868  0.64746260
[25]  1.69640497  0.68493689  2.84261574  1.65290227  4.16990548 -3.30426803
[31]  3.80508273  5.95888355 -0.09021591  3.88157980 -1.19166351  2.70208228
[37] -0.56278834 -0.83943824 -0.86868493 -1.19995506 -2.30275483  1.70435276
[43]  2.67984044 -0.04976799  0.98716782  2.71171575  5.21648742  0.13860495
[49]  1.61038570  0.50679460
万维网

使用expand.grid扩展的所有参数,并创建一个数据帧,然后再使用mapply

dat <- expand.grid(n = 10 * 1:5, mean = 1:4, sd = 1:3)
mapply(rnorm, dat$n, dat$mean, dat$sd, SIMPLIFY = FALSE)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

随机读取的结构化数组(AoS)与数组结构(SoA)进行矢量化

在numpy数组上应用矢量化和非矢量化函数

如何使用矢量化对numpy数组中的每个元素进行5整除?

当函数将数组作为参数时,如何使用Numba对函数进行矢量化处理?

在python中构造对象列表以进行矢量化:可以对结构(对象)列表进行矢量化,还是需要显式数组

输入所有成对组合的嵌套for循环的矢量化

如何对所有网格进行矢量化计算而不是“ for”循环?

3-D对象的多维数组:如何对内积进行矢量化

如何使用二维数组中的numpy.search进行矢量化

Numba中的组合矢量化功能

如何在numpy中使用某些固定参数对函数进行矢量化处理?

与自动矢量化进行边缘检测相比,如何执行具有更好性能的手动代码矢量化

有效的日期矢量化

带有索引数组的numpy 3D数组矢量化访问

如何对熊猫行动进行矢量化

MATLAB:对3D数组进行矢量化填充

数组计算的矢量化版本

用Matlab进行矢量化编程

使用 numpy 进行矢量化

对需要补充二进制数组的某些元素的代码进行矢量化

numpy 数组,其中矢量化版本

如何以矢量化方式平均给定距离内的所有坐标

在 Python 中按单行/单列对 3 维数组进行排序 - 使用矢量化

按numpy中多维数组的Paritular元素进行矢量化排序

矩阵的所有行对之间的矢量化 KL 散度计算

从多维数组中矢量化采样

将数组作为矢量化函数的参数传递时出现意外输出

使用 `...` 对 tidyverse 函数进行矢量化

有没有办法对这个加权的、抽样的排序操作进行矢量化?