I have a dataframe df that summarizes hourly water temperatures at different depths (5 meters T5, 15 meters T15, 25 meters T25 and 35 meters T35) over several months. As an example:
df<- data.frame(DateTime=c("2018-08-09 08:00:00","2018-08-09 09:00:00","2018-08-09 10:00:00","2018-08-09 11:00:00","2018-08-09 12:00:00","2018-08-09 13:00:00"),
T5=c(14.5,18.4,21.3,27.8,16.5,21.5),
T15=c(13.8,16.3,16.2,17.8,19.3,20.1),
T25=c(16.0,17.2,18.3,15.9,21.4,17.3),
T35=c(16.1,15.7,16.2,15.6,17.0,16.3))
df$DateTime<- as.POSIXct(df$DateTime, formtat="%Y-%m-%d %H:%M:%S",tz="UTC")
df
DateTime T5 T15 T25 T35
1 2018-08-09 08:00:00 14.5 13.8 16.0 16.1
2 2018-08-09 09:00:00 18.4 16.3 17.2 15.7
3 2018-08-09 10:00:00 21.3 16.2 18.3 16.2
4 2018-08-09 11:00:00 27.8 17.8 15.9 15.6
5 2018-08-09 12:00:00 16.5 19.3 21.4 17.0
6 2018-08-09 13:00:00 21.5 20.1 17.3 16.3
What I want is to calculate some variables related to the difference in temperatures between depths. I would like to calculate the variable "Maximum Water Temperature Chance in the Column" (MWTCC) that reflects the maximum water temperature change betweem CONSECUTIVE columns for the whole water column. Later on, I would like to calculate also the variable "Water Temperture Change between 5 and 15 meters" (WTC10), "Water Temperature Change between 15 and 25 meters" (WTC20) and "Water Temperature Change between 25 and 35 meters" (WTC30). I would expect the next result from the mentioned example:
> df
DateTime T5 T15 T25 T35 MWTCC WTC10 WTC20 WTC30
1 2018-08-09 08:00:00 14.5 13.8 16.0 16.1 2.2 0.7 2.2 0.1
2 2018-08-09 09:00:00 18.4 16.3 17.2 15.7 2.1 2.1 0.9 1.5
3 2018-08-09 10:00:00 21.3 16.2 18.3 16.2 5.1 5.1 2.1 2.1
4 2018-08-09 11:00:00 27.8 17.8 15.9 15.6 10.0 10.0 1.9 0.3
5 2018-08-09 12:00:00 16.5 19.3 21.4 17.0 4.4 2.8 2.1 4.4
6 2018-08-09 13:00:00 21.5 20.1 17.3 16.3 2.8 1.4 2.8 1.0
Is there any easy and fast way to calculate all? I am especially interested in using the package data.table, although any way could be fine.
Thanks in advance