Try this: d1 <- c(135631,136950,137952,138787,139623,142231,143067,144762, 145601,146441)
d2 <- c(135882,136954,137956,138792,139630,140569,141398,142237, 143078,143907,144771,145611,146446,147285,148128) len <- length(d1) # concatenate the two vectors mrg <- c(d1,d2) # order the concatenated vector ord <- order(mrg) # Look at the result: the indices > len (10) are numbers from d2. ord # [1] 1 11 2 12 3 13 4 14 5 15 16 17 6 18 7 19 20 8 21 9 22 10 23 24 25 # Thus you are looking for values in ord that are > len, # and immediately follow a value that is <= len. # Initialize a result vector (you could also overwrite d1). d4 <- rep(NULL, len) # A counting index ... ind <- 0 # Slowly, element by element. If your vectors are very large you might # use apply. for (i in 1:length(ord)) { if (ord[i] > len && ord[i-1] <= len) { ind <- ind + 1 d4[ind] <- mrg[ord[i]] } } # your d3: d3 <- c(135882,136954,137956,138792,139630,142237,143078,144771, 145611,146446) identical(d3, d4) # TRUE # special cases you may need to consider: # - what if there are values in d1 that are equal to values in d2 # - negative values? # - what if min(d2) is smaller than than min(d1)? Cheers, B. On Dec 26, 2014, at 4:16 PM, Morway, Eric <emor...@usgs.gov> wrote: > I'm in need of help selecting from d2 those values that come after a value > in d1. For example, d2[1] is both greater than d1[1] and is the value that > is closest to d2[1]. Similarly, d2[2] is both greater than d1[2] and is > the next "highest" number in d2. Every value in d1 has a corresponding > value in d2 based on this criteria, however, many of the values in d2 will > be discarded. The final result I'm looking for is a subset of d2 as given > in d3. Notice for example that 140569 is discarded and not contained in > d3. This small example is of course a much smaller example of a much > larger problem. Example R script of how to whittle down d2 to look like d3 > based on the criteria above > > d1 <- c(135631,136950,137952,138787,139623,142231,143067,144762, > 145601,146441) > > d2 <- c(135882,136954,137956,138792,139630,140569,141398,142237, > 143078,143907,144771,145611,146446,147285,148128) > > d3 <- c(135882,136954,137956,138792,139630,142237,143078,144771, > 145611,146446) > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. ______________________________________________ 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.