Как найти определитель для каждой квадратной матрицы в массиве? - PullRequest
0 голосов
/ 27 марта 2020

У меня есть массив из 747 квадратных матриц. Допустим, этот массив называется m. Использование det (m [,, 1]) дает мне определитель первой квадратной матрицы. Аналогично, det (m [,, 2]) дает мне определитель второй квадратной матрицы и так далее, и так далее. Есть ли функция, которая вычисляет определитель для каждой квадратной матрицы в массиве? Я попытался использовать для l oop, но это не сработало.

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Используйте apply над 3-м измерением, как показано:

a <- array((1:12)^2, c(2, 2, 3)) # test data

apply(a, 3, det)
[1]  -20 -164 -436

# verify that the above values are correct

det(a[,,1])
## [1] -20

det(a[,,2])
## [1] -164

det(a[,,3])
## [1] -436
0 голосов
/ 27 марта 2020

Вы должны предоставить образец своих данных, но вот простой пример. В вашем случае det.all будет список из 747 определителей:

m <- array(1:16, c(2, 2, 4))
det.all <- lapply(seq(dim(m)[3]), function(x) det(m[,,x]))
det.all
# [[1]]
# [1] -2
# 
# [[2]]
# [1] -2
# 
# [[3]]
# [1] -2
# 
# [[4]]
# [1] -2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...