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'
答案 0 :(得分:2)
尝试:
apply(weiner1, 2, FUN=function(x) c(NA,diff(x)))
答案 1 :(得分:2)
您还可以使用diff
而不使用apply
,因为它会对矩阵的列进行操作。
rbind(NA, diff(as.matrix(weiner1)))