I need an efficient way to build a new n x (n-1)/2 vector from an n-vector x as:
c(x[-1]-x[1], x[-(1:2)]-x[2], ... , x[-(1:(n-1)] - x[n-1]) x is increasing with x[1] = 0. The following works but is not the greatest: junk<-outer(x, x, '-') junk[junk>0] e.g., given x<-c(0, 3, 7, 20) junk<-outer(x, x, '-') junk[junk>0] # yields: c(3, 7, 20, 4, 17, 13) as needed, but it has to go through junk # [,1] [,2] [,3] [,4] #[1,] 0 -3 -7 -20 #[2,] 3 0 -4 -17 #[3,] 7 4 0 -13 #[4,] 20 17 13 0 Anyone have a better idea? -Dan -- View this message in context: http://r.789695.n4.nabble.com/vector-manipulations-differences-tp4712575.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.