如何在R中做哈希(键,值,匹配)数组?

时间:2018-07-18 01:11:46

标签: r merge match

我有2个数据集文件A.vcf和B.vcf。 它们都看起来像

A:
col1 col2 col3......
A    11    01010101
B    12    10101010 
C    14    00111000

B:
col1 col2 col3......
A    11    01111111
B    12    10000000
C    13    00000000 

我想看看它们是否与colu2匹配?如果是,则我的输出文件仅包括重叠部分。输出A文件具有其值。 B文件具有自己的值。

output_A
A    11    01010101
B    12    10101010 

output_B
A    11    01111111
B    12    10000000

我尝试通过=“ col2”使用合并功能

但是我发现输出变为:

A    11    01010101     A    11    01111111
B    12    10101010     B    12    10000000

我尝试使用inner_joun,match和merge函数。但是结果不是我想要的。

我在perl中知道,它看起来像一个哈希数组。我想知道如何在R中做

非常感谢。

1 个答案:

答案 0 :(得分:1)

正如Tim所言,目前尚不清楚这是您要追求的,但是:如果col1无关紧要,也许您可​​以只使用%in%

> A[A$col2 %in% B$col2,]

  col1 col2 col3......
1    A   11    1010101
2    B   12   10101010


> B[B$col2 %in% A$col2,]

  col1 col2 col3......
1    A   11    1111111
2    B   12   10000000

数据:

A <- read.table(text = "col1 col2 col3......
A    11    01010101
                B    12    10101010
                C    14    00111000",
                header = TRUE)

B <- read.table(text = "col1 col2 col3......
                A    11    01111111
                B    12    10000000
                C    13    00000000",
                header = TRUE)