I would like to filter out one data frame ( 'data') based on several values in another data frame ( 'key').
My 'key'looks like this
exhibit.name <- c("lions", "otters", "penguins")
exhibit.start <- c(as.Date("2016-04-01"), as.Date("2016-05-01"), as.Date("2016-06-01"))
exhibit.end <- c(as.Date("2016-04-30"), as.Date("2016-05-31"), as.Date("2016-06-30"))
key <- data_frame(exhibit.name, exhibit.start, exhibit.end)
And mine 'data'looks like this
exhibit.name <- c("lions", "lions", "otters",
"otters", "penguins", "penguins")
exhibit.date <- c(as.Date("2016-04-15"), as.Date("2016-12-15"), as.Date("2016-05-15"),
as.Date("2016-02-15"), as.Date("2016-06-15"), as.Date("2016-10-15"))
data <- data_frame(exhibit.name, exhibit.date)
I need to filter 'data'to return the rows where data$exhibit.namematches key$exhibit.nameAND whose data$exhibit.dategets on the corresponding date key$exhibit.startand key$exhibit.end. The resulting data frame will look like this:
> valid.exhibits
1|lions |2016-04-15
2|otters |2016-05-15
3|penguins|2016-06-15
Thank!
source
share