比较两个数据帧并输出唯一值

时间:2014-09-24 08:20:01

标签: r

我有两个数据帧,

A(514 rows)

1 2
2 3      
4 5
1 3
5 6
...

B(696 rows)

1 2
3 4
4 5
1 3
5 7
5 6
.....

我想获取B中存在但不存在于A中的那些行及其对应列。 例如,结果将是,

3 4
5 7

我怎样才能在R?

中完成

我尝试使用这个帖子答案:Compare two data.frames to find the rows in data.frame 1 that are not present in data.frame 2

但是在这里,第一个答案差异并没有给出正确的输出。

1 个答案:

答案 0 :(得分:0)

尝试:

colIndx <- colnames(B)[colnames(B) %in% colnames(A)]
rowIndx <- !as.character(interaction(B)) %in%  as.character(interaction(A[colIndx]))
 B[rowIndx,]
#   V1 V2
#2  3  4
#5  5  7

数据

 A <- structure(list(V1 = c(1L, 2L, 4L, 1L, 5L), V2 = c(2L, 3L, 5L, 
 3L, 6L)), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, 
-5L))

 B <- structure(list(V1 = c(1L, 3L, 4L, 1L, 5L, 5L), V2 = c(2L, 4L, 
 5L, 3L, 7L, 6L)), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA, 
-6L))