我有一个带整数的矢量[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] 删除。
我来说两句