如何在R中执行哈希(键、值、匹配)数组?
我有两个数据集文件a.vcf和B.vcf。 它们看起来都像如何在R中执行哈希(键、值、匹配)数组?,r,merge,match,R,Merge,Match,我有两个数据集文件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?如果是,则我的输出文件仅包括重叠部分。文件的输出有它们的值。B文件
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?如果是,则我的输出文件仅包括重叠部分。文件的输出有它们的值。B文件有自己的值
output_A
A 11 01010101
B 12 10101010
output_B
A 11 01111111
B 12 10000000
我尝试使用merge函数by=“col2”
但我发现输出变成:
A 11 01010101 A 11 01111111
B 12 10101010 B 12 10000000
我试着使用内部搜索、匹配和合并功能。但结果不是我想要的
我知道在perl中,它看起来像一个散列数组。我想知道我在R怎么办
非常感谢。正如蒂姆提到的,现在还不清楚这是否是你想要的,但是:如果
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我在您当前的merge
结果中没有看到任何意外情况。你到底想要什么输出?我想要我的输出看起来像输出A和输出B文件。但是我的2个输出文件已经包括了一个11 01010101(A 11 011111这部分来自B,我不想在文件A中显示)B 12 10101010(B 12 10000000这部分来自A,不想在文件B中显示)
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)