R 3.3.1 OS X Colleagues,
I have two large data frames that I am trying to link efficiently. A small example is as follows: structure(list(Day = c(1L, 2L, 3L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 13L, 14L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L), Value = c(76, 116, 111, 103, 114, 99, 128, 96, 81, 84, 81, 108, 109, 106, 125, 128, 92, 90, 83, 89, 76, 89, 101, 93, 98, 77, 92)), .Names = c("Day", "Value"), row.names = c(NA, -27L), class = "data.frame") which becomes: Day Value 1 1 76 2 2 116 3 3 111 4 5 103 5 6 114 6 7 99 7 8 128 8 9 96 9 10 81 10 11 84 11 13 81 12 14 108 13 16 109 14 17 106 15 18 125 16 19 128 17 20 92 18 21 90 19 22 83 20 23 89 21 24 76 22 25 89 23 26 101 24 27 93 25 28 98 26 29 77 27 30 92 The second dataframe is merely: TESTDAYS <- data.frame(TestDay = c(4, 11, 15)) For each row in the second dataframe, I would like to identify the first row in the first dataframe in which Day is >= TestDay. For example, for TestDay == 4, Day would equal 5. I would then append the corresponding “Value” in the TestValue column The result would be: TestDay TestValue 1 4 103 2 11 84 3 15 109 I can accomplish this with brute force but I suspect that there is some clever day to vectorize this. Any help would be appreciated. Dennis Dennis Fisher MD P < (The "P Less Than" Company) Phone / Fax: 1-866-PLessThan (1-866-753-7784) www.PLessThan.com <http://www.plessthan.com/> [[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.