我有两个矩阵。其中一个是:
另一种是:
如何根据低位和列名(键)合并两个矩阵?
我尝试了以下代码:
merged_matrix <- merge(matrix1, matrix2, by.x = "row.names", all = TRUE)
但它不会合并两个矩阵,而只是简单地添加更多列,如下所示:
发布于 2019-03-15 07:24:26
您可以按照计划使用merge合并矩阵。首先,如果要按列名合并,则需要使用可以访问列名的内容。只需引用您感兴趣的矩阵和列名(而不是行名),它就会一帆风顺(参见下面的示例代码)。
干杯,
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
https://stackoverflow.com/questions/55172732
复制相似问题