【问题标题】:How to merge two matrix with duplicate dimensions in R?如何在R中合并两个具有重复维度的矩阵?
【发布时间】:2019-08-05 22:49:01
【问题描述】:

我有两个矩阵。 下面是一个:

另一个是:

如何根据它们的低位和列名(键)合并两个矩阵?

我尝试了以下代码:

merged_matrix <- merge(matrix1, matrix2, by.x = "row.names", all = TRUE)

但它不会合并两个矩阵,只需像这样添加更多列:

【问题讨论】:

标签: r matrix merge


【解决方案1】:

您可以按照您的计划使用合并来合并矩阵。首先,如果你想按列名合并,那么你需要使用可以访问列名的东西。只需引用您感兴趣的矩阵和列名(而不是行名),一切顺利(参见下面的示例代码)。

干杯,

m1 = round(matrix(c(rnorm(9, mean = 2)), nrow = 3, ncol = 3), digits = 2)
m2 = round(matrix(c(rnorm(9, mean = 2)), nrow = 3, ncol = 3), digits = 2)

colnames(m1) <- c(letters[1:3])
colnames(m2) <- rev(colnames(m1))

merge(m1,m2, by.x = colnames(m1), all = TRUE)

# > print(m1)
#       a    b    c
# [1,]  1.31 3.27 2.73
# [2,] -0.57 2.35 1.61
# [3,]  0.70 3.10 0.77
#
# > print(m2)
#       c    b    a
# [1,] -0.58 1.62 1.11
# [2,]  2.34 3.22 4.40
# [3,]  1.26 1.19 1.88
#  
# > merge(m1,m2, by.x = colnames(m1), all = TRUE)
#     a    b     c
# 1 -0.57 2.35  1.61
# 2  0.70 3.10  0.77
# 3  1.11 1.62 -0.58
# 4  1.31 3.27  2.73
# 5  1.88 1.19  1.26
# 6  4.40 3.22  2.34

【讨论】:

    猜你喜欢
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 2016-08-03
    • 2013-10-20
    • 2014-04-22
    • 1970-01-01
    相关资源
    最近更新 更多