Позволяет фильтровать значения одного списка, используя другой список в качестве критерия - PullRequest
0 голосов
/ 24 апреля 2019

Предположим, у вас есть один список фреймов данных, называемый 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 ()?

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