Добавить новое значение в новый столбец в зависимости от того, существует ли значение в другом кадре данных в R - PullRequest
2 голосов
/ 27 апреля 2020

У меня есть два кадра данных, называемые пользователи и покупки с тысячами наборов данных для каждого. Оба имеют функцию под названием ID .

Моя цель - добавить новый столбец с именем покупатель к фрейму данных закупки , если значение ID из покупок существует в ID из пользователей .

Таким образом, два кадра данных выглядят так:

users = data.frame("ID" = c(23432,75645,5465645,5656,6456))
purchases = data.frame("ID" = c(6456,4436,88945))

Это должно выглядеть так: Desired outcome

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Мы можем использовать ifelse

purchases$buyersr <- ifelse(purchases$ID %in% users$ID, 1, 0)
1 голос
/ 27 апреля 2020

Мы можем использовать %in% для сравнения значений и обернуть as.integer для преобразования логических значений в целые числа.

purchases$buyers <- as.integer(purchases$ID %in% users$ID)
purchases

#     ID buyers
#1  6456      1
#2  4436      0
#3 88945      0

Это также можно записать как:

purchases$buyers <- +(purchases$ID %in% users$ID)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...