我在 R 中创建时间段时遇到问题。
我手头的数据是在此处输入图像描述
现在我想做以下几件事。
确定开始时间和结束时间之间的小时间隔并创建列表
确定小时间隔 b/n 开始和休息时间
最后,删除中断间隔以查找总时间
,然后创建输出。
你能帮帮我吗?
我不完全确定你到底需要什么,但据我所知,这里有一些东西可以让你继续前进:
library(tidyverse)
library(lubridate)
#>
#> Attaching package: 'lubridate'
#> The following object is masked from 'package:base':
#>
#> date
t <- tibble(
place = "xyz",
st = "9:00",
et = "13:00"
)
t <- t %>%
mutate(stdur = period_to_seconds(hm(st))) %>%
mutate(etdur = period_to_seconds(hm(et))) %>%
mutate(interval = dseconds(etdur - stdur)) %>%
mutate(interval_hours = seconds_to_period(interval))
glimpse(t)
#> Observations: 1
#> Variables: 7
#> $ place <chr> "xyz"
#> $ st <chr> "9:00"
#> $ et <chr> "13:00"
#> $ stdur <dbl> 32400
#> $ etdur <dbl> 46800
#> $ interval <Duration> 14400s (~4 hours)
#> $ interval_hours <Period> 4H 0M 0S
Created on 2020-02-10 by the reprex package (v0.3.0)