考虑:
Library(Matrix)
A <- matrix(c(1,2,3,4,5,6), nrow=3)
A
A %*% t(A)
这给出:
# A
# [,1] [,2]
# [1,] 1 4
# [2,] 2 5
# [3,] 3 6
#
# A %*% t(A)
# [,1] [,2] [,3]
# [1,] 17 22 27
# [2,] 22 29 36
# [3,] 27 36 45
问:我想用不同的二元运算符替换乘法 *,例如 min 或 max,最好是在 R 基数中。
您可能正在追求以下东西
> a <- asplit(A, 1)
> outer(a, a, \(...) mapply(min, ...))
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 2 2
[3,] 1 2 3
> outer(a, a, \(...) mapply(max, ...))
[,1] [,2] [,3]
[1,] 4 5 6
[2,] 5 5 6
[3,] 6 6 6