Мы можем использовать sapply
до l oop над индексом 6-го вложенного списка и извлечь этот компонент (при условии, что все остальные индексы постоянны)
sapply(1:30, function(i) df[[2]][[1]][[4]][[1]][[1]][[i]][[1]][[3]][[1]])
Лучше проверить length
из list
, чтобы сделать это более динамичным c
l1 <- length(df[[2]][[1]][[4]][[1]][[1]][[i]])
sapply(seq_len(l1), function(i) df[[2]][[1]][[4]][[1]][[1]][[i]][[1]][[3]][[1]])
Или если мы используем обновленный пост ОП с именами
sapply(seq_len(l1), function(i)
df$DisorderList$Disorder$ClassificationNodeList$ClassificationNode$ClassificationNodeChildList[i]$ClassificationNode$Disorder$Name$text)
Используя воспроизводимый пример
lapply(1:3, function(i) df[[2]][[1]][[4]][[1]][[1]][[i]][[1]][[2]][[1]])
#[[1]]
#[1] 1 2 3
#[[2]]
#[1] 1 2 3
#[[3]]
#[1] 1 2 3
Или с pluck
library(purrr)
map(1:3, ~ pluck(df, 2, 1, 4, 1, 1, .x, 1, 2, 1))
#[[1]]
#[1] 1 2 3
#[[2]]
#[1] 1 2 3
#[[3]]
#[1] 1 2 3
data
df <- replicate(3, replicate(2, replicate(4, replicate(4, replicate(3, replicate(5, list( list( list( 1:3, 1:5), list( 1:3, 1:5))), simplify = FALSE), simplify = FALSE), simplify = FALSE), simplify = FALSE), simplify = FALSE), simplify = FALSE)