I want to use diff to take the differences in a column "Close" of a data frame "y". But I'd like to do it using the transform function so a new data frame is created with a difference column. The problem is that diff gives one less than the number of elements in the original data frame. So transform gives an error message. I know the first element of diff should be NA or ideally 0. But not sure how I get there. Any suggestions ?
j Date Close 1 11/20/1985 156.412 2 11/21/1985 155.112 3 11/22/1985 154.182 4 11/25/1985 154.192 5 11/26/1985 153.722 6 11/27/1985 153.712 d <-diff(j[,2]) d [1] -1.30 -0.93 0.01 -0.47 -0.01 j <- transform(j, delta=diff(j[,2])) Error in data.frame(list(Date = c(5620L, 5639L, 5657L, 5706L, 5721L, 5736L : arguments imply differing number of rows: 6, 5 Calls: transform -> transform.data.frame -> do.call -> data.frame -- View this message in context: http://r.789695.n4.nabble.com/Using-diff-and-transform-tp3237397p3237397.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.