我有一个矩阵中的一行,我希望将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)
答案 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