是否有一个R函数来匹配矩阵?
我的数据是这样的是否有一个R函数来匹配矩阵?,r,matrix,match,R,Matrix,Match,我的数据是这样的 x <- matrix(c(1,2,3,2,5,6,3,6,9),nrow = 3) rownames(x) <- c('a','b','c') colnames(x) <- c('a','b','c') x您可以使用y矩阵作为索引,从x中子集值,并添加为新列 cbind(y, x[y]) # [,1] [,2] [,3] #[1,] "a" "a" "1" #[2,] "b
x <- matrix(c(1,2,3,2,5,6,3,6,9),nrow = 3)
rownames(x) <- c('a','b','c')
colnames(x) <- c('a','b','c')
x您可以使用y
矩阵作为索引,从x
中子集值,并添加为新列
cbind(y, x[y])
# [,1] [,2] [,3]
#[1,] "a" "a" "1"
#[2,] "b" "a" "2"
#[3,] "a" "c" "3"
非常感谢,这个方法在百万obs中也很有效。而且,我想知道x[y]是如何工作的?如果x有3列,但我只需要2列进行匹配。我应该怎么做?@Ronak Shahx
是我们获取数据的矩阵。因此,x
可以是任何列,只要这些列和行名出现在y
中,就不重要了。
cbind(y, x[y])
# [,1] [,2] [,3]
#[1,] "a" "a" "1"
#[2,] "b" "a" "2"
#[3,] "a" "c" "3"