Я хотел бы создать массив матриц таким образом, чтобы сначала создать массив из k-матриц с значениями NA, а затем перебрать k и обновить каждую k-мерную матрицу через массив.R, создающий массив матриц
Любые предложения?
Я хотел бы создать массив матриц таким образом, чтобы сначала создать массив из k-матриц с значениями NA, а затем перебрать k и обновить каждую k-мерную матрицу через массив.R, создающий массив матриц
Любые предложения?
Я, вероятно, отсутствует пункт, но не:
k = 2; n=3; m = 4
array(NA, c(n,m,k))
, , 1
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
, , 2
[,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
дать вам то, что вы хотите? Затем вы можете обходить как обычно:
R> for(k in 1:2){print(a[,,k])}
Остерегайтесь терминологии :-). Как указывает CSGillespie, вы можете определить массив N-ранга в R
. В качестве альтернативы вы можете создать переменную list
, каждая запись которой содержит матрицу. Преимущество последнего заключается в том, что матрицы могут иметь разные размеры. Недостаток заключается в том, что создание эмоционального состояния может быть более болезненным.
E.g.
mat1 <- matrix(NA, 3,5)
mat2 <- matrix(NA, 4,7)
matlist <- list(mat1=mat1,mat2=mat2)
Или для «простых» функций даже не нужен цикл, благодаря векторизации R. –