【发布时间】:2021-07-08 19:10:16
【问题描述】:
我有一个矩阵列表,我喜欢将每个矩阵中的值除以不同的值。
l1 <- list(1,2,3,4,5,6)
l2 <- list(7,8,9,10,11,12)
mat <- Map(
function(x, y) outer(unlist(x), unlist(y), `+`) / 2,
split(l1, ceiling(seq_along(l1) / 3)),
split(l2, ceiling(seq_along(l2) / 3))
)
例如,下面的输出显示了mat 列表中的元素之一:
$`1`
[,1] [,2] [,3]
[1,] 4.0 4.5 5.0
[2,] 4.5 5.0 5.5
[3,] 5.0 5.5 6.0
我想将矩阵中的值除以另一个具有不同值的矩阵 也许一个看起来像这样的矩阵(我不确定如何在 r 中创建一个矩阵)
2 1 2
3 2 3
1 2 3
我想要的输出将如下所示:
[,1] [,2] [,3]
[1,] 4.0/2 4.5/1 5.0/2
[2,] 4.5/3 5.0/2 5.5/3
[3,] 5.0/1 5.5/2 6.0/3
我怎样才能创建这个输出?如何在R 中创建具有所需值的矩阵?
谢谢。
【问题讨论】: