当我有两个数据框,其中第二个数据框具有比第一个数据框更多的列时,如何获取列不匹配报告

时间:2019-01-02 10:25:31

标签: r

我有两个数据框:

a1 <- data.frame(a = 1:5, b=letters[1:5], c=c('a','t','f','e','v'))
a2 <- data.frame(a = 1:3, b=letters[1:3])

我想要比较并想要获得两个数据帧中列不匹配的数量。

comparison <- compare(a2,a1,allowAll=TRUE)

3 个答案:

答案 0 :(得分:0)

使用下面给出的dplyr方法:-

require(dplyr) 
new <- anti_join(a1,a2)

答案 1 :(得分:0)

仅获取缺少的列数:

length(c(setdiff(names(a1), names(a2)), setdiff(names(a2), names(a1))))
[1] 1

获取名称:

c(setdiff(names(a1), names(a2)), setdiff(names(a2), names(a1)))
[1] "c"

答案 2 :(得分:0)

列不匹配报告,这将为您提供第二个数据库中不可用的列的列表

setdiff(colnames(a1),colnames(a2))