Как найти недостающие элементы из двух фреймов данных - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть два кадра данных.Первый набор адресов, включая город и штат.Второй из пакета почтового индекса.Я пытаюсь найти все строки из первого фрейма данных, которые имеют недопустимое состояние и совпадение почтового индекса.

Я попытался объединить два фрейма данных вместе.Я добился успеха и могу определить, какие из них соответствуют, но мне действительно нужно пойти в другом направлении и найти ошибки

1 Ответ

0 голосов
/ 13 апреля 2019

Кредиты отправляются на @ericOss, anti_join - это самый простой способ


Пример данных
В следующий раз либо предоставьте свои данные (или создайте небольшой пример, как я):

library(zipcode)
data(zipcode)

# Data
df1 <- head(zipcode)
df2  <- head(zipcode)

# Remove some things
df2[2,1] <- 0000   #wrong zip
df2[4,3] <- 'FOO' # wrong stat

df1

    zip       city state latitude longitude
1 00210 Portsmouth    NH  43.0059  -71.0132
2 00211 Portsmouth    NH  43.0059  -71.0132
3 00212 Portsmouth    NH  43.0059  -71.0132
4 00213 Portsmouth    NH  43.0059  -71.0132
5 00214 Portsmouth    NH  43.0059  -71.0132
6 00215 Portsmouth    NH  43.0059  -71.0132

df2

   zip       city state latitude longitude
1 00210 Portsmouth    NH  43.0059  -71.0132
2     0 Portsmouth    NH  43.0059  -71.0132
3 00212 Portsmouth    NH  43.0059  -71.0132
4 00213 Portsmouth   FOO  43.0059  -71.0132
5 00214 Portsmouth    NH  43.0059  -71.0132
6 00215 Portsmouth    NH  43.0059  -71.0132

Anti_join
Затем вы можете использовать print(df2 %>% anti_join(df1)), что даст вам:

    zip       city state latitude longitude
1     0 Portsmouth    NH  43.0059  -71.0132
2 00213 Portsmouth   FOO  43.0059  -71.0132

anti_join () вернет все строки из x, где в y нет совпадающих значений, сохраняя только столбцы из x.

(anti_join поставляется с dplyr, установите его, используя install.packages("dplyr"), если вы этого еще не сделали)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...