匹配不同矩阵之间的行

时间:2014-02-03 17:17:09

标签: r matrix

我有一个矩阵中的一行,我希望将2和3个条目(按此顺序,在1和6以下的情况下)与另一个矩阵相匹配,以查看它是否存在于那里以及它是哪一行在这个矩阵中。

i1
1      1      6      1      2

应与

进行比较
      [,1] [,2]     [,3]      [,4]
[1,]    3    5 4.227097 0.0183694
[2,]    1    6 4.225503 0.0605286
[3,]    2    9 4.208603 0.1786530

输出应该是下矩阵中的索引(表示在矩阵的第2行中找到1 6)

1 个答案:

答案 0 :(得分:0)

据我所知,没有一个命令同时匹配2个(或更多)值,因此您需要创建一个辅助变量来执行此操作。像这样:

i1 <- c(1,    1,      6,      1,      2)

data <- as.matrix(read.table(text='3    5 4.227097 0.0183694
1    6 4.225503 0.0605286
2    9 4.208603 0.1786530', header=F))

paste(i1[2:3], collapse='_') # What you are looking.
paste(data[,1], data[,2], sep='_') # Where you are looking.


which(paste(data[,1], data[,2], sep='_') %in% paste(i1[2:3], collapse='_')) # The index