Я думаю, вам придется использовать решение / предложение Шейна в этом сеансе чата. Сохраните ваши объекты в списке так, чтобы каждый компонент верхнего списка содержал компонент с именем или идентификатором или экспериментом, содержащимся в этом компоненте списка, а также компонент, содержащий объект, который вы хотите обработать:
obj <- list(list(ID = 1, obj = 1:10), list(ID = 2, obj = 1:10),
list(ID = 3, obj = 1:10), list(ID = 4, obj = 1:10),
list(ID = 5, obj = 1:10))
Итак, мы имеем следующую структуру:
> str(obj)
List of 5
$ :List of 2
..$ ID : num 1
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 2
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 3
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 4
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
$ :List of 2
..$ ID : num 5
..$ obj: int [1:10] 1 2 3 4 5 6 7 8 9 10
В следующей функции есть что-то вроде первой строки, за которой следует
foo <- function(x) {
writeLines(paste("Processing Component:", x$ID))
sum(x$obj)
}
Что будет делать это:
> res <- lapply(obj, foo)
Processing Component: 1
Processing Component: 2
Processing Component: 3
Processing Component: 4
Processing Component: 5
Что может сработать при снегопаде.