Я пытаюсь создать трехмерный массив, который дублирует элементы (копию данных) с одинаковыми строками для обоих. В конечном итоге это должен быть входной массив keras / tensorflow lstm (образцы, временные шаги, функции) временного ряда, где по разным причинам я определил, что мои временные шаги также являются моими функциями, а мои образцы фиксированы (строки).
Некоторые данные:
perhaps <- matrix(sample(c(0:1), 20, replace = TRUE), nrow = 4,
ncol = 5)
print(perhaps)
perhaps
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 0 1
[2,] 0 0 0 0 1
[3,] 0 1 1 0 1
[4,] 1 0 0 1 1
perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst <- list(perhaps, perhaps)
all.equal(perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst[[1]], perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst[[2]])
[1] TRUE
#construct array from SOF inquestion:15213463
perhaps_arr <- array(
data = do.call(rbind, lapply(perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst, as.vector)),
dim = c(dim = c(dim(perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst[[1]])[1],
dim(perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst[[1]])[2], dim(perhapsprint(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
lst[[1]])[2]))
dim(perhaps_arr)
[1] 4 5 5
Обнадеживает.
print(perhaps_arr)
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 3
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
, , 4
[,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 1 1
[2,] 1 0 0 1 1
[3,] 0 0 1 1 1
[4,] 0 0 1 1 1
, , 5
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 1 1
[2,] 0 0 0 1 1
[3,] 0 1 0 0 0
[4,] 0 1 0 0 0
Оппс. Думаю, не очень знаком с массивами. Я ожидал чего-то вроде:
, , 1
#perhaps
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 0 1
[2,] 0 0 0 0 1
[3,] 0 1 1 0 1
[4,] 1 0 0 1 1
, , 2
#perhaps
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 0 1
[2,] 0 0 0 0 1
[3,] 0 1 1 0 1
[4,] 1 0 0 1 1
т.е. одни и те же данные повторяются. А теперь в тупике. Мы очень ценим предложения и разъяснения по поводу того, что здесь происходит.