如何从矩阵单元格中提取值对?

时间:2017-10-26 04:52:52

标签: arrays r matrix compare sequence

我有两个矩阵,我想从中提取相应单元格中所有唯一的值对。也就是说,我想将第一个矩阵中的单元格[1,1]的值与第二个矩阵中的单元格[1,1]配对,然后减少该对列表以仅包括唯一对。我该怎么做?

以下是矩阵的示例版本

     V1  V2  V3  V4  V5  V6 
[1,] "w" "o" "r" "d" NA  NA 
[2,] "p" "o" "r" "c" NA  NA 
[3,] "v" "i" "n" NA  NA  NA 
[4,] "s" "e" "l" NA  NA  NA 
[5,] "p" "i" "e" "d" NA  NA 
[6,] "p" "i" "e" "r" "r" "e"

      V1  V2  V3  V4  V5  V6 
[1,] "h" "a" "e" "d" "a" NA 
[2,] "p" "o" "r" "c" "u" "s"
[3,] "v" "i" "n" "u" "m" NA 
[4,] "s" "a" "l" NA  NA  NA 
[5,] "p" "e" "s" NA  NA  NA 
[6,] "p" "e" "t" "r" "u" "s"

1 个答案:

答案 0 :(得分:2)

我们不能这样做:

unique( paste(m1, m2) )

测试:

>  m1 <- scan(what="") 
1:  "w" "o" "r" "d" NA  NA 
7:  "p" "o" "r" "c" NA  NA 
13:  "v" "i" "n" NA  NA  NA 
19:  "s" "e" "l" NA  NA  NA 
25:  "p" "i" "e" "d" NA  NA 
31:  "p" "i" "e" "r" "r" "e"
37: 
Read 36 items
>   m2 <- scan(what="")
1:  "h" "a" "e" "d" "a" NA 
7:  "p" "o" "r" "c" "u" "s"
13:  "v" "i" "n" "u" "m" NA 
19:  "s" "a" "l" NA  NA  NA 
25:  "p" "e" "s" NA  NA  NA 
31:  "p" "e" "t" "r" "u" "s"
37: 
Read 36 items
> unique( paste(m1, m2) )
 [1] "w h"   "o a"   "r e"   "d d"   "NA a"  "NA NA" "p p"   "o o"   "r r"   "c c"   "NA u" 
[12] "NA s"  "v v"   "i i"   "n n"   "NA m"  "s s"   "e a"   "l l"   "i e"   "e s"   "d NA" 
[23] "e t"   "r u"