Предположим, у вас есть кадр данных № 1 (с вашим первичным ключом)
df1 <- data.frame(primary_key = c(1, 3, 5, 6, 8))
> df1
primary_key
1 1
2 3
3 5
4 6
5 8
и
df2 <- data.frame(
col_11 = c(0:9),
letter = c("A", "A", "A", "A", "A", "B", "B", "B", "B", "B"),
value = c(1, 1, 3, 1, 2, 1, 3, 4, 5, 2))
> df2
col_11 letter value
1 0 A 1
2 1 A 1
3 2 A 3
4 3 A 1
5 4 A 2
6 5 B 1
7 6 B 3
8 7 B 4
9 8 B 5
10 9 B 2
Вы можете использовать dplyr::left_join
для объединения этих фреймов данных вместе,
df2 %>% # the data you want to subset
semi_join(df1, by = c("col_11" = #the name of your "sort of primary key" column in dataframe2
"primary_key")) # the name of your column in dataframe 1
col_11 letter value
1 1 A 1
2 3 A 1
3 5 B 1
4 6 B 3
5 8 B 5
Если имена ключей совпадают, вы можете просто сделать.
df2 %>% # the data you want to subset
semi_join(df1, by = "primary_key")
semi_join
помогает подмножеству df2.