0

我有两个从不同的 csv 文件中提取的矩阵,

一个像

> matrix1[1:6,]
     V1        V2
 1   atheism 1.0000000
 2       rec 1.0000000
 3       alt  1.0000000
 4  baseball 1.0000000
 5     sport 1.0000000
 6    season 0.4934226

另一个是

>matrix2[1:6,]
         V1        V2
 1       alt 1.0000000
 2   atheism 1.0000000
 3  baseball 1.0000000
 4       rec 1.0000000
 5     sport 1.0000000
 6         c 0.4934226

我想做的是比较两个矩阵,这就是我所做的

mapply(as.data.frame(test1),as.data.frame(test2),FUN=function(v1,v2) all(v2==v2))
        V1   V2 
       TRUE TRUE

但是,我需要的是捕获两个数据集之间第一列的差异,但是我所做的未能捕获字符串中的差异,如何修改我的代码。谢谢。

4

1 回答 1

0

也许尝试:

union(test1[, 1] , test2[, 1])    #the same (together)
intersect(test2[, 1], test1[, 1]) #overlap
union(test1[, 1] , test2[, 1]) [!union(test1[, 1] , test2[, 1]) %in% intersect(test2[, 1], test1[, 1])]
setdiff(test1[, 1] , test2[, 1])  #diff in set 1
setdiff(test2[, 1] , test1[, 1])  #diff in set 2
于 2012-08-02T16:17:44.893 回答