我有以下矩阵
[,1] [,2] [,3] [,4]
[1,] 2532 2532 2532 2532
[2,] 1.028605846 1.541478046 1.117421996 1.001032914
[3,] 0.794723319 1.070670946 1.180653716 0.966487035
[4,] 0.869901982 1.109662803 1.020646414 1.252548365
[5,] 0.957909572 1.063494032 1.285358611 1.665068867
我正在尝试循环这些值以获得
的最终矩阵 [,1] [,2] [,3] [,4]
[1,] 2532 2532 2532 2532
[2,] 2604.430001 3903.022412 2829.312493 2534.615339
[3,] 2069.801255 4178.8527 3340.438309 2449.672862
[4,] 1800.524213 4637.117402 3409.406382 3068.33374
[5,] 1724.739379 4931.546685 4382.309851 5108.986984
我知道我可以使用apply(data,2,prod)来获取最后一行的值,但不确定如何循环获取所有行的值。
由于
答案 0 :(得分:1)
您可以通过列上的cumprod
和apply
来查找所需内容。像
> mat <- matrix(1:6, nrow = 3)
> mat
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
> apply(mat, c(2), cumprod)
[,1] [,2]
[1,] 1 4
[2,] 2 20
[3,] 6 120