【问题标题】:match rows between different matrices匹配不同矩阵之间的行
【发布时间】:2014-02-03 17:17:08
【问题描述】:

我有一个矩阵中的一行,我想将其中的 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)

【问题讨论】:

标签: r matrix


【解决方案1】:

据我所知,没有一个命令可以同时匹配 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

【讨论】:

  • 我的 i1 是我提取的另一个表中的一行,如何像您手动操作那样自动化将其转换为向量的过程?
  • 不是如何读取某个变量,而是我如何将 somthign 从常规矩阵行转换为 c(a,b,c,d,e,f)...你在你的发布
  • 只读行? variable[row, ]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多