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

时间:2018-05-22 04:16:32

标签: r multidimensional-array keras reshape

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

我想将数据转换为'frames'的3d数组,其中每个帧都包含最后25个序列。然后,具有2d转换层的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()也无济于事。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

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

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