Повторяя через список матриц в R - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь просмотреть список матриц (matList), чтобы взять определитель каждой матрицы и вернуть новый список всех значений определителя.

До сих пор я пробовал это:

matList

detList <- list()
for(i in matList){
  detList <- c(det(matList[i]))
  i + 1 
}

detList

Но я получаю сообщение об ошибке: Ошибка в UseMethod («определитель»): нет применимого метода для «определителя», примененного к объекту класса «список»

Я знаю, что могуне беру определитель списка, но я вызвал эту функцию для каждой матрицы, поэтому я не уверен, почему я получаю это сообщение об ошибке или как его исправить.

1 Ответ

0 голосов
/ 25 февраля 2019

Я думаю, что это пример из учебника по использованию lapply (или sapply в этом отношении).Работает ли

detList <- lapply(matList, det)

?

Это функционально эквивалентно

detList <- list()
for (i in matList){
  detList[i] <- det(matList[[i]])
}

, что будет правильным циклом, как объяснено @joran в комментариях.

...