差分矩阵/强制到R中的数字

时间:2014-06-29 16:53:05

标签: r

data=data.frame(matrix(rnorm(500*300,0,1),500,30))
weiner1=data.frame(cumsum(data))

嗨,

我试图取一个矩阵的差异,所以在行方面,我试图减去元素Matrix [m + 1,n] -Matrix [m,n]但是也要这样,第一行将是一组NA。

我尝试了diff命令:

diff(weiner1)
Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : 
  non-numeric argument to binary operator

diff(as.numeric(weiner1)),dim(m)
Error in diff(as.numeric(weiner1), dim(m)) : 
  (list) object cannot be coerced to type 'double'

2 个答案:

答案 0 :(得分:2)

尝试:

apply(weiner1, 2, FUN=function(x) c(NA,diff(x)))

答案 1 :(得分:2)

您还可以使用diff而不使用apply,因为它会对矩阵的列进行操作。

 rbind(NA, diff(as.matrix(weiner1)))