Как получить отчет о несоответствии столбцов, когда у меня есть два кадра данных, в котором второй кадр данных имеет больше столбца, чем первый - PullRequest
0 голосов
/ 02 января 2019

У меня есть два фрейма данных:

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 голосов
/ 02 января 2019

Чтобы получить количество пропущенных столбцов:

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"
0 голосов
/ 02 января 2019

Отчет о несоответствии столбцов. Появится список столбцов, недоступных во второй базе данных.

setdiff(colnames(a1),colnames(a2))
0 голосов
/ 02 января 2019

используйте метод dplyr, указанный ниже: -

require(dplyr) 
new <- anti_join(a1,a2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...