Кадр данных 1 (df1) имеет следующие столбцы:
Year ID1 ID2 V1 V2 ....
Кадр данных 2 (df2) имеет следующие столбцы:
Year ID
Я хотел бы сделать semi_joinиспользование df2 для фильтрации df1 как по году, так и по идентификатору, за исключением того, что я хотел бы сохранить наблюдения в df1, где идентификатор совпадает либо по ID1, либо по ID2.Я не уверен, есть ли способ у semi_join в dplyr или это другой метод.
Редактировать:
df1 = data.frame(Year = c(rep(2000,5), rep(2001,5)),
ID1 = 1:5,
ID2 = 5:1,
V1 = seq(1,10, length.out = 10))
df2 = data.frame(Year = c(2000,2000,2001,2001), ID = c(1,2,1,3))
Вывод
Year ID1 ID2 V1
2000 1 5 1
2000 2 4 2
2000 4 2 4
2000 5 1 5
2001 1 5 6
2001 3 3 8
2001 5 1 10