将矩阵转换为 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),]
}
我有一个数据集,包含 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),]
}