возвращает список матриц, применяя функцию if-else по последовательности условий в списке матриц

#r #if-statement #matrix #lapply

#r #if-оператор #матрица #lapply

Вопрос:

У меня есть список матриц:

 set.seed(100)
X1 <- mvrnorm(n=4, mu = rep(0, 5), Sigma = (matrix(1,5,5) diag(5)))
X2 <- mvrnorm(n=4, mu = rep(0, 5), Sigma = (matrix(1,5,5) diag(5)))
X3 <- mvrnorm(n=4, mu = rep(0, 5), Sigma = (matrix(1,5,5) diag(5)))
X4 <- mvrnorm(n=4, mu = rep(0, 5), Sigma = (matrix(1,5,5) diag(5)))
X <- list(X1,X2,X3,X4)
  

У меня есть последовательность пороговых значений

 thresholds <- seq(from = 0.05, to = 0.95, by = 0.1)
  

Мне нужен список матриц 0-1, обусловленный каждым из пороговых значений

Я сделал это для одного порогового значения

 lapply(X,function(x)(ifelse(x<thresholds[1],0,1)))
  

Но мне нужно повторить это для всей последовательности пороговых значений.
Я ожидаю возврата списка dim (4,5,4,10) [без длины (пороговые значения = 10]

Для одного порогового значения мой вывод выглядит следующим образом:

 [[1]]
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    1
[2,]    1    1    0    0    0
[3,]    1    0    1    1    0
[4,]    0    1    0    0    0

[[2]]
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    0
[2,]    0    0    0    0    0
[3,]    0    1    1    1    0
[4,]    0    0    1    0    0

[[3]]
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    1    1    0
[2,]    0    1    0    0    0
[3,]    0    1    1    1    1
[4,]    1    0    0    0    0

[[4]]
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    1    1    1
[2,]    1    1    0    0    0
[3,]    0    1    1    1    1
[4,]    0    0    0    0    0
  

Мне нужен список из 4 измерений:
Отображение примера только с первыми 4 матрицами из 40 фрагментов матрицы:

 , , 1, 1

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    1
[2,]    1    1    0    0    0
[3,]    1    0    1    1    0
[4,]    0    1    0    0    0

, , 2, 1

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    0
[2,]    0    0    0    0    0
[3,]    0    1    1    1    0
[4,]    0    0    1    0    0

, , 3, 1

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    1    1    0
[2,]    0    1    0    0    0
[3,]    0    1    1    1    1
[4,]    1    0    0    0    0

, , 4, 1

     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    1    1    1
[2,]    1    1    0    0    0
[3,]    0    1    1    1    1
[4,]    0    0    0    0    0

  

Комментарии:

1. Я редактирую свой вопрос, пытаясь объяснить, что именно мне нужно. TIA