我想结合两个不同行数的矩阵:
k<-c(11,21,31,4,5,6,7,8,9)
k<-as.matrix(k)
m<-c(10,20,30,4,5,6)
m<-as.matrix(m)
我正在使用此命令,但对我来说无法正常工作:
j<-merge(m,k,all=TRUE)
我该怎么做才能完成这项工作
修改
我想有这样的事情:
[,1] [,2]
[1,] 11 10
[2,] 21 20
[3,] 31 30
[4,] 4 4
[5,] 5 5
[6,] 6 6
[7,] 7 NA
[8,] 8 NA
[9,] 9 NA
答案 0 :(得分:3)
假设您想合并m和k colwise ...
library(zoo)
my_k <- zoo(k)
my_m <- zoo(m)
j <- as.matrix(merge(my_m, my_k))
答案 1 :(得分:2)
如果只有两个向量,可能最简单的是使它们具有相同的长度
mlen <- max(length(m), length(k))
length(m) <- length(k) <- mlen
cbind(m,k)
将提供所需的结果。
答案 2 :(得分:1)
另一种方式
k <- as.data.frame(matrix(c(1:9, 11,21,31,4,5,6,7,8,9), 9,2))
m <- as.data.frame(matrix(c(1:6, 10,20,30,4,5,6), 6, 2))
j <- as.matrix(merge(k,m, by = "V1", all.x = T)[, -1])