我有高维数据,用于大脑信号,我想使用r。
探索。由于我是一名数据科学家,所以我真的不与MATLAB合作,而是R和Python。不幸的是,我与之合作的团队是使用MATLAB记录信号。因此,我对那些对数据科学感兴趣的人有几个问题。
MATLAB文件,记录的数据,是具有以下维度的单个对象:1000*32*6000
1000:表示信号的采样率。
32:表示频道的数量。
6000:表示时间为几秒钟,因此长1小时40分钟。
我面临的问题/挑战:
我将拥有的"垫子"文件转换为CSV文件,因此我可以在R中使用它们。但是,CSV文件是具有尺寸的2个维文件:1000*192000。
CSV文件很大,约1.3千兆字节。是否有将"垫子"文件转换为与R的事物的更好方法尺寸较小?我尝试了使用readmat的" r.matlab",但是它是与MATLAB的第七版不兼容;因此,我尝试将其保存为V6版本,但它说"错误:不能分配5.7 GB的向量"
读取CSV文件所需的时间很长!它需要 大约9分钟来加载数据。这是在使用"弗雷德",因为 base r函数read.csv永远需要。有更好的方法 更快地读取文件?
一旦我将数据读为R,则为1000*192000;虽然实际上是 1000*32*6000。是否有一种方法可以在R中拥有多维对象 在给定时间访问信号和时间帧的位置 更容易。喜欢数据集[1007,2],这将是 1007秒和频道2。我想以这种方式访问它的原因 是轻松比较时间帧并相互绘制。
任何问题的答案都将不胜感激。
这是阅读大型CSV文件的一个很好的参考:https://rpubs.com/msundar/mmsundar/large_data_analysis一个关键要点是分配您正在阅读而不是拥有的每列的数据类型读取功能根据内容决定。