如何减去数据框列

时间:2017-04-09 12:30:10

标签: r

如何从数据框u中的最后一列(c)中减去列(c-1)

u<-data.frame(a1=c(10,10,10),a2=c(0,10,5),a3=c(10,20,30),a4=c(2,7,9))

减法后产生的数据帧。

  a1    a2  a3  a4
  10    -10 10  15
  10    0   10  -13
  10    -5  25  -21

1 个答案:

答案 0 :(得分:0)

我认为这是您想要的:

newData = matrix(t(unlist(lapply(2:ncol(u), function(x, u){-u[, x-1] + u[, x]}, u) )), ncol = ncol(u) - 1)

  result = data.frame(cbind(u$a1, newData))

  names(result) = paste0("a", 1:4)

  result