简体   繁体   English

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

[英]How do I extract pairs of values from matrix cells?

I have two matrices, from which I want to extract all unique pairs of values in corresponding cells. 我有两个矩阵,我要从中提取对应单元格中所有唯一的值对。 That is, I want to pair the value from cell [1,1] in the first matrix with the cell [1,1] in the second matrix and then reduce that list of pairs to include only the unique pairs. 也就是说,我想将第一个矩阵中的单元格[1,1]的值与第二个矩阵中的单元格[1,1]配对,然后将对的列表减少为仅包括唯一对。 How do I do this? 我该怎么做呢?

Here are sample versions of the matrices 这是矩阵的示例版本

     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"

Couldn't we just do: 我们不能只是做:

unique( paste(m1, m2) )

Testing: 测试:

>  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"  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM