На основе описания поиска общих элементов между соответствующими элементами «listA» и «listB» и получения length
каждого
lst <- Map(intersect, listA, listB))
lengths(lst)
#[1] 5 3
Или используя pmap
из purrr
library(tidyverse)
pmap(list(listA, listB), ~ intersect(..1, ..2) %>%
length)
Или используя for
loop
out <- vector('list', length(listA))
for(i in seq_along(listA)) out[[i]] <- length(intersect(listA[[i]], listB[[i]]))
Или используя purrr
library(purrr)
map2(listA, listB, ~ length(intersect(.x, .y)))
#[[1]]
#[1] 5
#[[2]]
#[1] 3
Данные
listA <- list(c(1, 2, 4, 5, 6, 8, 9, 10, 12, 24), c(4, 8, 9, 12, 26, 35,
46))
listB <- list(c(5, 8, 10, 12, 24, 35, 42, 56), c(26, 35, 46, 59, 68, 72
))
данные