我有大脑数据的高维数据,我想用R来探索。
由于我是数据科学家,我真的不使用Matlab,而是使用R和Python。不幸的是,我正在使用的团队正在使用Matlab来记录信号。因此,对于那些对数据科学感兴趣的人,我有几个问题。
Matlab文件,记录数据,是具有以下尺寸的单个对象: 1000 * 32 * 6000
1000:表示信号的采样率。
32:表示频道数。
6000:表示以秒为单位的时间,因此为1小时40分钟。
我面临的问题/挑战:
我将“mat”文件转换为CSV文件,因此我可以在R中使用它们。 但是,CSV文件是二维文件,尺寸为:1000 * 192000。
CSV文件相当大,约为1.3千兆字节。 有没有 更好的方法将“mat”文件转换为与R兼容的东西, 尺寸较小?我用readMat试过“R.matlab”,但确实如此 与第7版Matlab不兼容;所以我试着保存为V6版本,但它说“错误:无法分配大小为5.7 Gb的矢量”
读取CSV文件所需的时间相当长!它需要 大约9分钟加载数据。那就是使用“fread” base R函数read.csv需要永远。 有没有更好的方法 更快地读取文件?
一旦我将数据读入R,它就是1000 * 192000;虽然它实际上是 1000 * 32 * 6000。 有没有办法在R中拥有多维对象, 在给定时间访问信号和时间帧变为 更容易。 就像数据集[1007,2],这将是时间框架 1007秒和频道2. 我想以这种方式访问它的原因 是比较时间框架,并相互绘制。
任何问题的答案都将不胜感激。
答案 0 :(得分:0)
这是阅读大型CSV文件的一个很好的参考:https://rpubs.com/msundar/large_data_analysis关键的一点是为您正在阅读的每一列分配数据类型,而不是根据内容决定读取功能。