2016-10-03 3 views
-4

Скажем, у меня есть список из 3-х матриц. Как извлечь одну из матриц в качестве матрицы-объекта, поэтому я могу получить доступ к ее элементам с помощью вызовов mymatrix[i,j]?Извлечение матрицы из списка матриц

mylist[i] просто возвращает список-объект с матрицей i.

Я уверен, что должно быть простое решение, но я не смог его найти.

ответ

2

использовать двойные скобки: mylist[[i]] ....

От ?"[[" (курсив добавлен):

Рекурсивные (список подобных) объектов:

индексирование '[' подобен атомных векторов и выбирает список указанный элемент (ы).

Оба «[['и« $ »выбирают один элемент в списке. Основное отличие состоит в том, что «$» не позволяет вычисленных индексов,

+0

Это было неловко просто. Благодаря ... –

2

mylist[[1]] должен вернуть вам первую матрицу

mylist[[3]] должен вернуть вам третью матрицу

1

Если вы хотите автоматизировать это вам может просто запускаться:

for (index in 1:length(mylist)){ 
    assign(paste0("matrix", index), mylist[[index]], envir = .GlobalEnv) 
} 
Смежные вопросы