[R] How to average minutes per hour per month in the form of '# hours #minutes'
Dr Eberhard W Lisse
no@p@m @end|ng |rom ||@@e@NA
Thu Mar 25 19:34:15 CET 2021
Thanks, that is helpful.
But, how do I group it to produce hours worked per week per month?
el
On 2021-03-25 19:03 , Greg Snow wrote:
> Here is one approach:
>
> tmp <- data.frame(min=seq(0,150, by=15))
>
> tmp %>%
> mutate(hm=sprintf("%2d Hour%s %2d Minutes",
> min %/% 60, ifelse((min %/% 60) == 1, " ", "s"),
> min %% 60))
>
> You could replace `sprintf` with `str_glue` (and update the syntax as
> well) if you realy need tidyverse, but you would also loose some
> formatting capability.
>
> I don't know of tidyverse versions of `%/%` or `%%`. If you need the
> numeric values instead of a string then just remove the `sprintf` and
> use mutate directly with `min %/% 60` and `min %% 60`.
>
> This of course assumes all of your data is in minutes (by the time you
> pipe to this code) and that all hours have 60 minutes (I don't know of
> any leap hours.
>
> On Sun, Mar 21, 2021 at 8:31 AM Dr Eberhard W Lisse <nospam using lisse.na> wrote:
>>
>> Hi,
>>
>> I have minutes worked by day (with some more information)
>>
>> which when using
>>
>> library(tidyverse)
>> library(lubridate)
>>
>> run through
>>
>> CONSMINUTES %>%
>> select(datum, dauer) %>%
>> arrange(desc(datum))
>>
>> look somewhat like
>>
>> # A tibble: 142 x 2
>> datum dauer
>> <date> <int>
>> 1 2021-03-18 30
>> 2 2021-03-17 30
>> 3 2021-03-16 30
>> 4 2021-03-16 30
>> 5 2021-03-16 30
>> 6 2021-03-16 30
>> 7 2021-03-11 30
>> 8 2021-03-11 30
>> 9 2021-03-11 30
>> 10 2021-03-11 30
>> # … with 132 more rows
>>
>> I can extract minutes per hour
>>
>> CONSMINUTES %>%
>> select(datum, dauer) %>%
>> group_by(week = format(datum, '%Y %V'))%>%
>> summarise_if(is.numeric, sum)
>>
>> and minutes per month
>>
>> CONSMINUTES %>%
>> select(datum, dauer) %>%
>> group_by(month = format(datum, '%Y %m'))%>%
>> summarise_if(is.numeric, sum)
>>
>> I need to show the time worked per week per month in the format of
>>
>> '# hours # minutes'
>>
>> and would like to also be able to show the average time per week per
>> month.
>>
>> How can I do that (preferably with tidyverse :-)-O)?
>>
>> greetings, el
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
>
>
More information about the R-help
mailing list