我有高维数据,用于大脑信号,我想用 R 来探索。
因为我是一名数据科学家,所以我真的不使用 Matlab,而是使用 R 和 Python。不幸的是,与我合作的团队正在使用 Matlab 来记录信号。因此,对于那些对数据科学感兴趣的人,我有几个问题。
Matlab 文件,记录的数据,是具有以下尺寸的单个对象:1000*32*6000
1000:表示信号的采样率。
32:表示通道数。
6000:表示以秒为单位的时间,因此是 1 小时 40 分钟长。
我面临的问题/挑战:
我将我拥有的“mat”文件转换为 CSV 文件,因此我可以在 R 中使用它们。但是,CSV 文件是二维文件,尺寸为:1000*192000。
CSV 文件相当大,大约 1.3 GB。有没有更好的方法将“mat”文件转换为与 R 兼容且尺寸更小的文件?我用 readMat 试过“R.matlab”,但它与第 7 版的 Matlab 不兼容;所以我尝试保存为 V6 版本,但它显示“错误:无法分配大小为 5.7 Gb 的向量”
读取 CSV 文件所需的时间相当长!加载数据大约需要 9 分钟。那是使用“fread”,因为基本 R 函数 read.csv 需要永远。有没有更好的方法来更快地读取文件?
一旦我将数据读入R,它是1000 * 192000;而它实际上是 1000*32*6000。有没有办法在 R 中拥有多维对象,在给定时间访问信号和时间框架变得更容易。 像 dataset[1007,2],这将是 1007 秒和通道 2 的时间范围。我想以这种方式访问它的原因是轻松比较时间范围并将它们相互绘制。
任何问题的任何答案将不胜感激。