外部给出了数组的外积。例如,对于维度为A
的矩阵c(2, 3)
,
A <- matrix(1:6, 2, 3)
B <- outer(A, A, function(x,y) x + y)
B的尺寸为c(2, 3, 2, 3)
。但是,我是否可以简洁的方式定义函数myouter
以仅在第一维中应用outer
,以获得矩阵C
?
C <- myouter(A, A, function(x,y) sum(x) + sum(y))
C
可以通过以下繁琐的代码获得。
C <- matrix(nrow = 2, ncol = 2)
for (i in 1:2) {
for (j in 1:2) {
C[i, j] <- sum(A[i, ])+ sum(A[j, ])
}
}