r - 在R中将矩阵转换为3d数组
问题描述
我有一个由 3 个数字组成的 2000 个序列组成的数据集,范围从 1 到 50(例如,(2,11,35)或(8,20,49))。数据位于 .csv 文件中,R 将其读取为数据框 - 2000 obs。3个变量,所有的整数。
我想将数据转换为“帧”的 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()
也没有帮助。
有人可以帮忙吗?
解决方案
我不确定我是否完全理解这个问题,但不会使用列表吗?元素的顺序应该保持不变。
results = list()
results[[1]]<-dataset[1:25,]
for(i in 2:(nrow(dataset)-24)){
results[[i]] = dataset[i:(i+24),]
}
推荐阅读
- node.js - 在带有路由器的vue js导航栏中查找链接的问题
- python - 此网站无法提供安全连接 Google App Engine
- c# - 在静态构造函数中或外部声明静态字段之间的区别
- ios - Flutter 上的 AirPlay IOS
- c# - 过滤包含所有节点和子节点的 TreeView
- html - 如何在 MaterializeCSS 中将 cols 放在一行的中心?
- python - 如何将数据从 python 传递到 html?
- automation - 如何在 cypress 中添加两个数据属性检查?
- markdown - 将代码块从 asciidoc 转换为 markdown
- c# - 如何对 ApplicationData.Current.LocalFolder (Storagefile) 中的 UWP 特定文件使用数据保护进行加密和解密?