У меня есть список с разными векторами длины 1s и 2s, и я пытаюсь вытащить векторы на основе nchar
и личность, то есть 1, 2, c(1,1), c(2,2), c(2,1), c(1,2)
. Моя проблема заключается в идентификации векторов, для которых nchar > 1
содержит комбинации c(1,1), c(2,2), c(2,1), c(1,2)
.индекс числовой список векторов для нескольких номеров
#dummy code
`T1,T2` <- 1
`T2,T1` <- 2
`T2,T3` <- c(2,1)
`T3,T2` <- c(2,2)
`T3,T4` <- c(1,1)
`T4,T4` <- c(1,2)
lst <- list(`T1,T2`=`T1,T2`, `T2,T1`=`T2,T1`, `T2,T3`=`T2,T3`, `T3,T2`=`T3,T2`, `T3,T4`=`T3,T4`, `T4,T4`=`T4,T4`)
single <- lst[nchar(lst)==1] # only lists with nchar==1
multiple <- lst[nchar(lst) > 1] # only lists with nchar > 1
# identify single lists which contain 1s and 2s
single_1s <- single[single==1] # single vectors for 1s
single_2s <- single[single==2] # single vectors for 2s
Как бы сделать то же самое для нескольких списков в моем примере?
Попытка идентифицировать несколько списков, содержащих любую из комбинаций c(1,1), c(2,2), c(2,1), c(1,2)
, например.
multiple[multiple==c(1,1)] # Does not work
Любых указателей будет высоко оценен, спасибо
'множественных [sapply (множественная, функция (х) все (х == с (1 , 1)))] ' – akrun
Аккуратно! Большое спасибо! –
Нужно ли вам для всех этих совпадений в списке – akrun