R中的高级信号处理

时间:2017-06-05 21:13:48

标签: r signal-processing multi-dimensional-scaling

我有大脑数据的高维数据,我想用R来探索。

由于我是数据科学家,我真的不使用Matlab,而是使用R和Python。不幸的是,我正在使用的团队正在使用Matlab来记录信号。因此,对于那些对数据科学感兴趣的人,我有几个问题。

Matlab文件,记录数据,是具有以下尺寸的单个对象: 1000 * 32 * 6000

1000:表示信号的采样率。

32:表示频道数。

6000:表示以秒为单位的时间,因此为1小时40分钟。

我面临的问题/挑战:

我将“mat”文件转换为CSV文件,因此我可以在R中使用它们。 但是,CSV文件是二维文件,尺寸为:1000 * 192000。

  1. CSV文件相当大,约为1.3千兆字节。 有没有 更好的方法将“mat”文件转换为与R兼容的东西, 尺寸较小?我用readMat试过“R.matlab”,但确实如此 与第7版Matlab不兼容;所以我试着保存为V6版本,但它说“错误:无法分配大小为5.7 Gb的矢量”

  2. 读取CSV文件所需的时间相当长!它需要     大约9分钟加载数据。那就是使用“fread”     base R函数read.csv需要永远。 有没有更好的方法     更快地读取文件?

  3. 一旦我将数据读入R,它就是1000 * 192000;虽然它实际上是     1000 * 32 * 6000。 有没有办法在R中拥有多维对象,     在给定时间访问信号和时间帧变为     更容易。 就像数据集[1007,2],这将是时间框架     1007秒和频道2. 我想以这种方式访问​​它的原因     是比较时间框架,并相互绘制。

  4. 任何问题的答案都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是阅读大型CSV文件的一个很好的参考:https://rpubs.com/msundar/large_data_analysis关键的一点是为您正在阅读的每一列分配数据类型,而不是根据内容决定读取功能。