我有一个由 116 列和 4700 行组成的大矩阵。
对于每一行,我想计算以下形式的标准化差异:
(((a2-a1)/a1)*100)+100, where a1 is the previous value and a2 is the next value.
在 R 中,我使用以下代码:
for i in (1:116)
a[i]=(((a[i]-a[i-1])/a[i-1])*100)+100
但是我收到以下错误:
Error in Ops.data.frame(a[i], a[i - 1]) :
- only defined for equally-sized data frames
我猜问题在于它没有考虑第一个值,其中不存在要减去的第一个值 1。
我怎么解决这个问题?
这是数据的一个子集:https ://dl.dropbox.com/u/22681355/su.csv
请记住,我想单独计算每一列!