I have two dataframes that I am trying to merge. One dataframe has a list of activities and start times of the activity. Another dataframe has a running clock with some minute by minute data. For example
df1
ID ACTIVITY Timestamp
1 Act1 2014-11-10 11:56:00
1 Act2 2014-11-10 11:59:00
1 Act3 2014-11-10 12:02:00
1 Act4 2014-11-10 12:06:00
...
df2
ID Timestamp
1 2014-11-10 11:56:00
1 2014-11-10 11:57:00
1 2014-11-10 11:58:00
1 2014-11-10 11:59:00
1 2014-11-10 12:00:00
1 2014-11-10 12:01:00
1 2014-11-10 12:02:00
...
I want to merge these two so the ACTIVITY from df1 is applied to the matching timestamp AND all succeeding minutes until the next ACTIVITY timestamp
I have tried the following code but it only applies the activity to the matching timestamp
Im hoping for something like this
ID Timestamp ACTIVITY
1 2014-11-10 11:56:00 Act1
1 2014-11-10 11:57:00 Act1
1 2014-11-10 11:58:00 Act1
1 2014-11-10 11:59:00 Act2
1 2014-11-10 12:00:00 Act2
1 2014-11-10 12:01:00 Act2
1 2014-11-10 12:02:00 Act3
...
But I am getting this from the code I currently have
merge(df1, df2, by = c("ID", "Timestamp"), copy = TRUE, all.y = T)
ID Timestamp ACTIVITY
1 2014-11-10 11:56:00 Act1
1 2014-11-10 11:57:00 NA
1 2014-11-10 11:58:00 NA
1 2014-11-10 11:59:00 Act2
1 2014-11-10 12:00:00 NA
1 2014-11-10 12:01:00 NA
1 2014-11-10 12:02:00 Act3
...