Предположим, у вас есть один список фреймов данных, называемый list1, и другой список фреймов данных, называемый list2.
В обоих списках есть данные об одних и тех же лицах, и у вас есть уникальный идентификатор для их идентификации. Я хотел бы отфильтровать второй список, чтобы иметь только данные о тех людях, которые находятся в первом списке.
Я думал о чем-то в этих строках:
list1 %>% lapply(distinct, ID) -> id1
list2 %>% lapply(filter, ID %in% id1) -> list2
Итак, я хотел бы повторить функцию фильтра, соответствующую элемент за элементом в обоих списках, например,
filter(list2[[1]], ID %in% id1[[1]])
и т. Д.
Однако этот подход не работает. Я считаю, что это потому, что критерии список. Используя следующее для цикла я смог получить желаемый результат:
for (i in seq(list2)) {
list2[[i]] %>%
filter(ID %in% id1[[i]][,1]) -> list2[[i]]
Есть ли способ сделать то, что я описываю, используя lapply ()?