Используя lapply
, мы можем удалить первые i
элементы из каждого списка, и если 3-x
меньше 0, то мы возвращаем список как есть.
lapply(seq_along(lst), function(x)
if ((3-x) > 0) lst[[x]][-seq(3-x)] else lst[[x]])
#[[1]]
#[1] 3 5 8 0
#[[2]]
#[1] -4 6 8 10
#[[3]]
#[1] 0 -6 9 12
данные
lst <- list(c(4, 2, 3, 5, 8, 0), c(11, -4, 6, 8, 10), c(0 ,-6, 9,12 ))