Dagmar
2014-Oct-02 13:13 UTC
[R] merge by time, certain value if 5 min before and after an "event"
Hello! I hope someone can help me. It would save me days of work. Thanks in advance! I have two dataframes which look like these: myframe <- data.frame (Timestamp=c("24.09.2012 09:00:00", "24.09.2012 10:00:00", "24.09.2012 11:00:00"), Event=c("low","high","low") ) myframe mydata <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 10:05:10") , location=c("1","2","3","1","5") ) mydata # I want to merge them by time so I have a dataframe which looks like this in the end (i.e. "Low" during 5 min before and after "high" ) result <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 10:05:10") , location=c("1","2","3","1","5") , Event=c("low", "low","high","high","low")) result Anyone knows how do merge them? Best regards, Dagmar
Adams, Jean
2014-Oct-02 21:01 UTC
[R] merge by time, certain value if 5 min before and after an "event"
Dagmar, Can you explain more fully why rows 1, 2, and 5 in your result are "low" and rows 3 and 4 are "high"? It is not clear to me from the information you have provided.> result[c(1, 2, 5), ]Timestamp location Event 1 24.09.2012 09:05:01 1 low 2 24.09.2012 09:49:50 2 low 5 24.09.2012 10:05:10 5 low> result[3:4, ]Timestamp location Event 3 24.09.2012 09:51:01 3 high 4 24.09.2012 10:04:50 1 high Jean On Thu, Oct 2, 2014 at 8:13 AM, Dagmar <Ramgad82 at gmx.net> wrote:> Hello! I hope someone can help me. It would save me days of work. Thanks in > advance! > I have two dataframes which look like these: > > > myframe <- data.frame (Timestamp=c("24.09.2012 09:00:00", "24.09.2012 > 10:00:00", > "24.09.2012 11:00:00"), Event=c("low","high","low") ) > myframe > > > mydata <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 > 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 > 10:05:10") > , location=c("1","2","3","1","5") ) > mydata > > > # I want to merge them by time so I have a dataframe which looks like this > in the end (i.e. "Low" during 5 min before and after "high" ) > > result <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 > 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 > 10:05:10") > , location=c("1","2","3","1","5") , > Event=c("low", "low","high","high","low")) > result > > Anyone knows how do merge them? > Best regards, > Dagmar > > ______________________________________________ > R-help at r-project.org mailing list > 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. >[[alternative HTML version deleted]]
Dagmar
2014-Oct-02 21:25 UTC
[R] merge by time, certain value if 5 min before and after an "event"
Dear Jean and all, I want all lines to be "low", but during times 9:55 - 10:05 a.m (i.e. a timespan of 10 min) I want them to be "high". In my real data "low" and "high" refer to "lowtide" and "hightide" in the waddensea and I want to assign the location of my animal at the time it was taken to the tide (that means, there was water not only exactly at 10:00 (as taken from official data) but also 5 min before and after). I hope that is more understandable, if not ask again. Thanks for trying to help, Dagmar Am 02.10.2014 um 23:01 schrieb Adams, Jean:> Dagmar, > > Can you explain more fully why rows 1, 2, and 5 in your result are > "low" and rows 3 and 4 are "high"? It is not clear to me from the > information you have provided. > > > result[c(1, 2, 5), ] > Timestamp location Event > 1 24.09.2012 09:05:01 1 low > 2 24.09.2012 09:49:50 2 low > 5 24.09.2012 10:05:10 5 low > > > result[3:4, ] > Timestamp location Event > 3 24.09.2012 09:51:01 3 high > 4 24.09.2012 10:04:50 1 high > > Jean > > > On Thu, Oct 2, 2014 at 8:13 AM, Dagmar <Ramgad82 at gmx.net > <mailto:Ramgad82 at gmx.net>> wrote: > > Hello! I hope someone can help me. It would save me days of work. > Thanks in > advance! > I have two dataframes which look like these: > > > myframe <- data.frame (Timestamp=c("24.09.2012 09:00:00", "24.09.2012 > 10:00:00", > "24.09.2012 11:00:00"), Event=c("low","high","low") ) > myframe > > > mydata <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 > 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 > 10:05:10") > , location=c("1","2","3","1","5") ) > mydata > > > # I want to merge them by time so I have a dataframe which looks > like this > in the end (i.e. "Low" during 5 min before and after "high" ) > > result <- data.frame ( Timestamp=c("24.09.2012 09:05:01", "24.09.2012 > 09:49:50", "24.09.2012 09:51:01", "24.09.2012 10:04:50", "24.09.2012 > 10:05:10") > , location=c("1","2","3","1","5") , > Event=c("low", "low","high","high","low")) > result > > Anyone knows how do merge them? > Best regards, > Dagmar > > ______________________________________________ > R-help at r-project.org <mailto:R-help at r-project.org> mailing list > 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. > >[[alternative HTML version deleted]]