将矩阵转换为 R 中的 3d 数组

Convert matrix to 3d array in R

我有一个数据集,包含 2000 个 3 个数字的序列,范围从 1 到 50(例如,(2,11,35) 或 (8,20,49))。数据位于 .csv 文件中,R 将其读取为数据帧 - 2000 obs。 3 个变量,全部为整数。

我想将数据转换为 'frames' 的 3d 数组,其中每一帧都包含最后 25 个序列。然后,具有 2d conv 层的 keras 模型将学习预测第 26 个序列。

我尝试使用 as.matrix(read.csv()) 加载数据集,然后

x<-dataset[1:25,]
for (i in 2:(nrow(dataset)-24)) {
x<-rbind(x, dataset[i:(i+24),])
}
x<-array_reshape(x,c(1976,25,3,1))

数据似乎是正确的形状,但是当我将它与原始数据进行比较时,我发现数字全乱了。使用 dim() 也没有帮助。

有人可以帮忙吗?

我不确定我是否完全理解这个问题,但是使用列表行不通?元素的顺序应保持不变。

results = list()
results[[1]]<-dataset[1:25,]

for(i in 2:(nrow(dataset)-24)){
   results[[i]] = dataset[i:(i+24),]
}