如何通过R中的值合并两个大小不同的矩阵?
我正在寻找合并两个大小不同的矩阵的方法,通过合并具有相同值的列单元格 例如,下面两个矩阵: 矩阵1:如何通过R中的值合并两个大小不同的矩阵?,r,matrix,merge,R,Matrix,Merge,我正在寻找合并两个大小不同的矩阵的方法,通过合并具有相同值的列单元格 例如,下面两个矩阵: 矩阵1: a, 1 b, 4 c, 5 矩阵2: a, 8 c, 9 按第一列合并后: a, 1, 8 b, 4, NA c, 5, 9 谢谢大家! 可以指定'dimname',然后可以轻松使用merge() mat1 <- matrix(c("a","b","c", 1,4,5), ncol=2, dimnames =
a, 1
b, 4
c, 5
矩阵2:
a, 8
c, 9
按第一列合并后:
a, 1, 8
b, 4, NA
c, 5, 9
谢谢大家! 可以指定'dimname',然后可以轻松使用
merge()
mat1 <- matrix(c("a","b","c", 1,4,5), ncol=2,
dimnames = list(c("1", "2", "3"), c("id", "v1")))
mat2 <- matrix(c("a","c", 8, 9), ncol=2,
dimnames = list(c("1", "2"), c("id", "v2")))
merge(mat1, mat2, by="id", all.x = TRUE)
id v1 v2
1 a 1 8
2 b 4 <NA>
3 c 5 9
mat1merge(mat1,mat2,by=“V1”,all=TRUE)
对于data.frame,还有一个模拟sql调用的plyr::join
:join(df1,df2,by=“ID”)
。如果完成那些与不匹配的行,我想删除整行呢?自我响应:那么“all.x”应该设置为FALSE。默认情况下,“all=FALSE”,这样合并(mat1,mat2,by=“id”)就足够了。这是by变量的内部联接或交集。另一方面,all.x=TRUE是左外连接,因此保留了x的所有值。