Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dailyData <- data.frame(
- DateTime = seq.POSIXt(lubridate::ymd_hms('2019-01-01', truncated=3),
- lubridate::ymd_hms('2019-01-07', truncated=3),
- by='day'),
- Name = 'Daily TS'
- )
- allHours <- data.frame(
- DateTime = seq.POSIXt(lubridate::ymd_hms('2019-01-01', truncated=3),
- lubridate::ymd_hms('2019-01-07 23:00:00'),
- by='hour')
- )
- hourlyData <- allHours %>%
- dplyr::mutate( Name = 'Hourly TS' )
- allData <- rbind( dailyData, hourlyData )
- head( allData, n=15 )
- DateTime Name
- 1 2019-01-01 00:00:00 Daily TS
- 2 2019-01-02 00:00:00 Daily TS
- 3 2019-01-03 00:00:00 Daily TS
- 4 2019-01-04 00:00:00 Daily TS
- 5 2019-01-05 00:00:00 Daily TS
- 6 2019-01-06 00:00:00 Daily TS
- 7 2019-01-07 00:00:00 Daily TS
- 8 2019-01-01 00:00:00 Hourly TS
- 9 2019-01-01 01:00:00 Hourly TS
- 10 2019-01-01 02:00:00 Hourly TS
- 11 2019-01-01 03:00:00 Hourly TS
- 12 2019-01-01 04:00:00 Hourly TS
- 13 2019-01-01 05:00:00 Hourly TS
- 14 2019-01-01 06:00:00 Hourly TS
- 15 2019-01-01 07:00:00 Hourly TS
- expanded_BAD <- allData %>%
- dplyr::right_join( allHours, by='DateTime' ) %>%
- tidyr::fill( dplyr::everything(), .direction='down' ) %>%
- dplyr::arrange( Name, DateTime )
- head(expanded_BAD, n=15)
- DateTime Name
- 1 2019-01-01 00:00:00 Daily TS
- 2 2019-01-02 00:00:00 Daily TS
- 3 2019-01-03 00:00:00 Daily TS
- 4 2019-01-04 00:00:00 Daily TS
- 5 2019-01-05 00:00:00 Daily TS
- 6 2019-01-06 00:00:00 Daily TS
- 7 2019-01-07 00:00:00 Daily TS
- 8 2019-01-01 00:00:00 Hourly TS
- 9 2019-01-01 01:00:00 Hourly TS
- 10 2019-01-01 02:00:00 Hourly TS
- 11 2019-01-01 03:00:00 Hourly TS
- 12 2019-01-01 04:00:00 Hourly TS
- 13 2019-01-01 05:00:00 Hourly TS
- 14 2019-01-01 06:00:00 Hourly TS
- 15 2019-01-01 07:00:00 Hourly TS
- dailyData_expanded_GOOD <- dailyData %>%
- dplyr::right_join( allHours, by='DateTime' ) %>%
- tidyr::fill( dplyr::everything(), .direction='down' )
- head(dailyData_expanded_GOOD, n=15)
- DateTime Value
- 1 2019-01-01 00:00:00 Daily TS
- 2 2019-01-01 01:00:00 Daily TS
- 3 2019-01-01 02:00:00 Daily TS
- 4 2019-01-01 03:00:00 Daily TS
- 5 2019-01-01 04:00:00 Daily TS
- 6 2019-01-01 05:00:00 Daily TS
- 7 2019-01-01 06:00:00 Daily TS
- 8 2019-01-01 07:00:00 Daily TS
- 9 2019-01-01 08:00:00 Daily TS
- 10 2019-01-01 09:00:00 Daily TS
- 11 2019-01-01 10:00:00 Daily TS
- 12 2019-01-01 11:00:00 Daily TS
- 13 2019-01-01 12:00:00 Daily TS
- 14 2019-01-01 13:00:00 Daily TS
- 15 2019-01-01 14:00:00 Daily TS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement