这是我的两个文本矩阵:
A <- matrix(c("AIP-A","CSV-A"), ncol = 1, byrow = TRUE)
B <- matrix(c("AIP-B","CSV-B"), ncol = 1, byrow = TRUE)
我正在尝试计算这些矩阵的乘积,输出应如下所示:
AIP-A,AIP-B
AIP-A,CSV-B
CSV-A,AIP-B
CSV-A,CSV-B
A*B 不起作用,因为它正在寻找数字输入。也许通过其他一些技术可以获得相同的结果。 我可以使用 4x2 输出矩阵、一个 4x1 矩阵、一个字符向量、data.frame 和 data.table
最佳答案
您可以使用 outer
作为数组的外积,通过 paste
获得您想要的输出:
c(outer(A, B, paste, sep = ","))
# [1] "AIP-A,AIP-B" "CSV-A,AIP-B" "AIP-A,CSV-B" "CSV-A,CSV-B"
或
matrix(outer(A, B, paste, sep = ","), ncol = 1)
# [,1]
#[1,] "AIP-A,AIP-B"
#[2,] "CSV-A,AIP-B"
#[3,] "AIP-A,CSV-B"
#[4,] "CSV-A,CSV-B"
关于r - 文本矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38399070/