R中的CSV到CSV比较

R中的CSV到CSV比较,r,R,我需要比较R中的两个csv文件,并在两个文件中写入不匹配的记录。我能用下面的代码完成上面的任务 library(dplyr) a <- c("ads", "ads", "abc") b <- c(121, 345, 23.300) c <- c(21,22,23) srce <- cbind.data.frame(a,b,c) d <- c("ads", "ds", "abc") e <- c(121, 345, 23) f <- c(21,22,23

我需要比较R中的两个csv文件,并在两个文件中写入不匹配的记录。我能用下面的代码完成上面的任务

 library(dplyr)
a <- c("ads", "ads", "abc")
b <- c(121, 345, 23.300)
c <- c(21,22,23)
srce <- cbind.data.frame(a,b,c)
d <- c("ads", "ds", "abc")
e <- c(121, 345, 23)
f <- c(21,22,23)
trgt <- cbind.data.frame(d, e, f)
colnames(trgt) <- colnames(srce)

#Compare csv files
nn <- anti_join(srce, trgt)
库(dplyr)

a如果将
stringsAsFactors=FALSE
参数与
cbind.data.frame
一起使用,一个简单的逻辑比较将起到以下作用:

library(dplyr)
a <- c("ads", "ads", "abc")
b <- c(121, 345, 23.300)
c <- c(21,22,23)
srce <- cbind.data.frame(a,b,c, stringsAsFactors = FALSE)
d <- c("ads", "ds", "abc")
e <- c(121, 345, 23)
f <- c(21,22,23)
trgt <- cbind.data.frame(d, e, f, stringsAsFactors = FALSE)
colnames(trgt) <- colnames(srce)


# logical comparison:
srce == trgt

         a     b    c
[1,]  TRUE  TRUE TRUE
[2,] FALSE  TRUE TRUE
[3,]  TRUE FALSE TRUE

如果将
stringsAsFactors=FALSE
参数与
cbind.data.frame
一起使用,一个简单的逻辑比较就可以做到:

library(dplyr)
a <- c("ads", "ads", "abc")
b <- c(121, 345, 23.300)
c <- c(21,22,23)
srce <- cbind.data.frame(a,b,c, stringsAsFactors = FALSE)
d <- c("ads", "ds", "abc")
e <- c(121, 345, 23)
f <- c(21,22,23)
trgt <- cbind.data.frame(d, e, f, stringsAsFactors = FALSE)
colnames(trgt) <- colnames(srce)


# logical comparison:
srce == trgt

         a     b    c
[1,]  TRUE  TRUE TRUE
[2,] FALSE  TRUE TRUE
[3,]  TRUE FALSE TRUE

嗨@LAP很抱歉回复太晚了。我有超过300列和数百万行的大型表,所以在大型表的情况下很难检查您的解决方案。请提供任何其他检查大型表的解决方案。您好@SJB,您的表是哪个对象类?矩阵?表的类是DataFrame。您可以在逻辑比较周围包装一个
which()
,例如
which(srce!=trgt)
以获取逻辑结果矩阵中不匹配的单元格位置。which(srce==trgt)提供匹配的单元格位置…很难检查大型数据集。是否可以只获取包含不匹配单元格的列的名称。Hi@LAP很抱歉回复太晚。我有超过300列和数百万行的大型表,所以在大型表的情况下很难检查您的解决方案。请提供任何其他检查大型表的解决方案。您好@SJB,您的表是哪个对象类?矩阵?表的类是DataFrame。您可以在逻辑比较周围包装一个
which()
,例如
which(srce!=trgt)
以获取逻辑结果矩阵中不匹配的单元格位置。which(srce==trgt)提供匹配的单元格位置…很难检查大型数据集。是否可以只获取具有不匹配单元格的列的名称。