将R中向量的某些元素相乘

防水

我有一个带整数的矢量[1:360],需要查找30个元素的第一组,第二组...第十二组的乘积。最终,我需要一个函数,该函数为我提供所有十二个30个元素间隔的乘积的矢量[1:12]。我对R相当陌生,并且在此方面停留了太长时间。

艾伦·卡梅伦

一种简单的方法是将向量变成30行矩阵,并获得每一列的乘积。

在没有可重现的示例的情况下,让我们使用从正态分布中得出的360个数字的向量进行制作:

set.seed(69)
vec <- rnorm(360)

vec只需执行即可将其变成30 * 12的矩阵matrix(vec, nrow = 30),它将按列填充矩阵。然后,通过apply将函数应用于各列,我们得到各列的乘积prob

apply(matrix(vec, nrow = 30), 2, prod)
#> [1] -6.253460e-09 -4.413086e-09 -1.332389e-10  1.041448e-08 -1.779489e-08  1.255979e-10
#> [7]  3.463687e-13 -6.265196e-12  8.300651e-04 -1.041469e-10  4.256378e-09  1.439522e-09

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章