【发布时间】:2014-07-19 03:08:28
【问题描述】:
我是 R 新手,试图对声音文件中的数据进行一些分析。我已经弄清楚如何将我的记录转换为(光谱能量的)测量值,如何将这些测量值导入 R 矩阵,以及如何将该矩阵融合成一列。但我被困在中间步骤上。当我创建我的测量数据矩阵时,每个矩阵是 12 列乘 360 行。我需要做的是创建新矩阵,其列包含原始 12 列中的每一列之间的“Delta”(更改)值。所以例如如果我的原始矩阵是
[,1] [,2] [,3]
1 2 3
2 4 6
3 6 9
4 8 12
我需要得到一个派生矩阵:
[,1] [,2]-[,1] [,2] [,3]-[,2] [,3]
1 1 2 1 3
2 2 4 2 6
etc.
我可以使用简单的矩阵减法制作个体差异列,如
coldif1<-X[,2] - X[,1]
但我不知道如何创建我需要的结果矩阵。将差异列交错很重要,因为最后我需要使用 melt(X) 将整个内容转换为单个堆叠列,其中的值按顺序排列,如下所示:
[,1]
[,2]-[,1]
[,2]
[,3]-[,2]
[,3]
etc.
有没有直接的方法来做到这一点?
【问题讨论】: