ich bin Anfänger in R und habe folgende Problemstellung:
Ich möchte einen großen Datensatz auswerten, welche die Arbeitszeiten von jeweils einen EInsatz unterteilet in
- am Kalendertag gearbeitet mit der Stundenaufteilung Tagdienst(6:00 - 22:00) - Nachtdienst(22:00 - 00:00)
- am folgenden Kalendertag gearbeitet mit Stundenaufteilung Tagdienst(6:00 - 22:00) und Nachtdienst(00:00 - 06:00)
Beispiel:
Schichtstart: 6:00
Schichtende:14:30
Tagdienst lfd. Kalendertag(06_00-22_00): 8,5h
Nachtdienst lfd. Kalendertag(22_00-00_00)-: 0h
Nachtdienst folgenden Kalendertag(00_00-06_00): 0h
Tagdienst folgender Kalendertag(06_00-22_00): 0h
Schichtstart: 21:30
Schichtende: 07:00
Tagdienst lfd. Kalendertag(06_00-22_00): 0,5h
Nachtdienst lfd. Kalendertag(22_00-00_00): 2h
Nachtdienst folgenden Kalendertag(00_00-06_00): 6h
Tagdienst folgender Kalendertag: 1h
Ich überlege schon ewig, komme aber nicht weiter.
Hier befindet sich eine Beispieldatei:
Code: Alles auswählen
head(AZ_berechnung,12)
# A tibble: 12 x 8
WT Datum Schichtanfang Schichtende `22_00-00_00` `06_00-22_00` `00_00-6_00` `06_00-22_002`
<chr> <date> <time> <time> <lgl> <lgl> <lgl> <lgl>
1 Di 2019-01-01 06:00 14:30 NA NA NA NA
2 Mi 2019-01-02 06:00 14:30 NA NA NA NA
3 Mo 2019-01-14 06:00 15:15 NA NA NA NA
4 Mo 2019-01-14 06:00 15:15 NA NA NA NA
5 Mo 2019-03-25 06:00 15:30 NA NA NA NA
6 Do 2019-03-28 06:00 15:00 NA NA NA NA
7 Do 2019-03-28 06:00 15:00 NA NA NA NA
8 Do 2019-01-03 07:00 15:30 NA NA NA NA
9 Fr 2019-01-04 07:00 15:30 NA NA NA NA
10 Fr 2019-02-08 06:00 10:00 NA NA NA NA
11 Mi 2019-02-13 07:45 16:30 NA NA NA NA
12 Do 2019-01-03 22:00 06:30 NA NA NA NA
Code: Alles auswählen
sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 LC_NUMERIC=C
[5] LC_TIME=German_Germany.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] forcats_0.4.0 stringr_1.4.0 dplyr_0.8.0.1 purrr_0.3.1 tidyr_0.8.3 tibble_2.0.1 ggplot2_3.1.0 tidyverse_1.2.1
[9] readr_1.3.1 lubridate_1.7.4
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 cellranger_1.1.0 pillar_1.3.1 compiler_3.5.3 plyr_1.8.4 tools_3.5.3 jsonlite_1.6
[8] nlme_3.1-137 gtable_0.2.0 lattice_0.20-38 pkgconfig_2.0.2 rlang_0.3.1 cli_1.0.1 rstudioapi_0.9.0
[15] yaml_2.2.0 haven_2.1.0 withr_2.1.2 xml2_1.2.0 httr_1.4.0 generics_0.0.2 hms_0.4.2
[22] grid_3.5.3 tidyselect_0.2.5 glue_1.3.1 R6_2.4.0 fansi_0.4.0 readxl_1.3.1 modelr_0.1.4
[29] magrittr_1.5 backports_1.1.3 scales_1.0.0 rvest_0.3.2 assertthat_0.2.0 colorspace_1.4-0 utf8_1.1.4
[36] stringi_1.4.3 lazyeval_0.2.1 munsell_0.5.0 broom_0.5.1 crayon_1.3.4
Code: Alles auswählen
str(AZ_berechnung)
Classes ‘spec_tbl_df’, ‘tbl_df’, ‘tbl’ and 'data.frame': 16 obs. of 8 variables:
$ WT : chr "Di" "Mi" "Mo" "Mo" ...
$ Datum : Date, format: "2019-01-01" "2019-01-02" "2019-01-14" "2019-01-14" ...
$ Schichtanfang: 'hms' num 06:00:00 06:00:00 06:00:00 06:00:00 ...
..- attr(*, "units")= chr "secs"
$ Schichtende : 'hms' num 14:30:00 14:30:00 15:15:00 15:15:00 ...
..- attr(*, "units")= chr "secs"
$ 22_00-00_00 : logi NA NA NA NA NA NA ...
$ 06_00-22_00 : logi NA NA NA NA NA NA ...
$ 00_00-6_00 : logi NA NA NA NA NA NA ...
$ 06_00-22_002 : logi NA NA NA NA NA NA ...
- attr(*, "spec")=
.. cols(
.. WT = col_character(),
.. Datum = col_date(format = "%d.%m.%Y"),
.. Schichtanfang = col_time(format = "%H:%M"),
.. Schichtende = col_time(format = "%H:%M"),
.. `22_00-00_00` = col_logical(),
.. `06_00-22_00` = col_logical(),
.. `00_00-6_00` = col_logical(),
.. `06_00-22_002` = col_logical()
.. )
Vielen Dank fürs anschauen und Anregungen.