r - How to convert data captured every 10 min interval into 15 min interval data -
i have dataframe below data ( average of values of timestamp 7.50 , 7.40 should value of time stamp 7.45)
date_time | 7/28/2017 8:00| 443.75 7/28/2017 7:50| 440.75 7/28/2017 7:45| na 7/28/2017 7:40| 447.5 7/28/2017 7:30| 448.75 7/28/2017 7:20| 444.5 7/28/2017 7:15| na 7/28/2017 7:10| 440.25 7/28/2017 7:00| 447.5 i want transform 15 min interval below using mean:
date / time | object value 7/28/2017 8:00| 465 7/28/2017 7:45| 464.875 7/28/2017 7:30| 464.75 7/28/2017 7:15| 464.875 7/28/2017 7:00| 465
updat
the op changes or desired output. since have no time update answer, leave answer is. see comment in original post see how use na.interpolation fill in missing values.
original post
this solution assumes calculated average based on average values in 8:00, 7:30, , 7:00.
library(dplyr) library(tidyr) library(lubridate) library(imputets) dt2 <- dt %>% mutate(date.time = mdy_hm(date.time)) %>% filter(date.time %in% seq(min(date.time), max(date.time), = "15 min")) %>% complete(date.time = seq(min(date.time), max(date.time), = "15 min")) %>% mutate(object.value = na.interpolation(object.value)) %>% fill(object.name) %>% arrange(desc(date.time)) dt2 # tibble: 5 x 3 date.time object.name object.value <dttm> <chr> <dbl> 1 2017-07-28 08:00:00 465.000 2 2017-07-28 07:45:00 464.875 3 2017-07-28 07:30:00 464.750 4 2017-07-28 07:15:00 464.875 5 2017-07-28 07:00:00 465.000 data
dt <- read.table(text = "'date time' 'object name' 'object value' '7/28/2017 8:00' 465 '7/28/2017 7:50' 465 '7/28/2017 7:40' 464.75 '7/28/2017 7:30' 464.75 '7/28/2017 7:20' 464.75 '7/28/2017 7:10' 465 '7/28/2017 7:00' 465", header = true, stringsasfactors = false)
Comments
Post a Comment