/ / Перевірка підмножини списку в іншому списку списків у R - r, списку, підмножині

Перевірка для підмножини списку в іншому списку списків у R - r, списку, підмножини

У мене є список:
l1 = list(1, 3, 5)

У мене є ще один список:
l2 = list(list(1, 3), list(2, 6), list(3, 5), list(1, 5))

Я хочу перевірити, чи кожна з двох елементів підмножини l1 (тобто list(1, 3), list(1, 5) і list(3, 5)) існують у l2 чи ні.

У цьому випадку я просто хочу прямої відповіді як TRUE. Як я можу це зробити?

Відповіді:

3 для відповіді № 1

Спочатку знайдіть усі можливі комбінації l1, повертається як список списків.

cmb <- combn(l1, 2, simplify = FALSE)

Зачищаючи мою оригінальну відповідь, і спираючись на коментар @alexis_laz, ви хочете %in%.

l2 <- list(list(1, 3), list(2, 6), list(3, 5), list(1, 5))
cmb %in% l2
# [1] TRUE TRUE TRUE
all(cmb %in% l2)
# [1] TRUE

Але коли ми маємо нове l2 OP згадує в коментарях (я називаю це l3), ми отримуємо

l3 <- list(list(1, 3), list(2, 6), list(3, 5), list(1, 6))
cmb %in% l3
# [1]  TRUE FALSE  TRUE
all(cmb %in% l3)
# [1] FALSE