#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