Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set.seed(1)
- df1 <- data.frame(matrix(nrow=20,ncol=3))
- colnames(df1) <- c("group","trial","hour")
- df1$group <- rep(c("a","b"),each=10)
- df1$trial <- rep(c(1,1,1,1,1,2,2,2,2,2),times=2)
- df1$hour <- rep(c(1,11,21,31,41),times=4)
- df2 <- data.frame(matrix(nrow=4,ncol=3))
- colnames(df2) <- c("group","trial","end")
- df2$group <- c("a","a","b","b")
- df2$trial <- c(1,2,1,2)
- df2$end <- runif(4,1,40)
- df2 %>%
- left_join(df1,by=c("group","trial")) %>%
- group_by(group,trial) %>%
- filter(hour<= end)
- df2 %>%
- left_join(df1,by=c("group","trial")) %>%
- group_by(group,trial) %>%
- slice(1:n(hour<= end)+1)`
- library(dplyr)
- df2 %>%
- left_join(df1,by=c("group","trial")) %>%
- group_by(group,trial) %>%
- slice({i1 <- which(hour <= end)
- unique(c(i1, pmin(tail(i1, 1) + 1), n()))})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement