Verwenden von R, um Zeitsummen für mehrere Ereignisse in einem Monat zu ermitteln

CLK

Ich habe eine Tabelle mit mehreren Fehlern, die der folgenden ähnlich sind.

fault_ID    date_reported    date_closed         fault hours
ab1        8/04/2019 1:36    8/04/2019 3:30       1.9
ab2        12/03/2019 18:48  12/03/2019 20:45     1.9
ab3        19/10/2018 22:00  20/10/2018 9:45      11.8
ab4        20/03/2019 10:07  20/03/2019 13:00     2.9
ab5        30/07/2019 8:37   30/07/2019 16:30     7.9
ab6        15/06/2019 12:58  18/06/2019 19:55     78.9
ab7        8/06/2019 22:30   8/06/2019 23:30      1.0
ab8        16/10/2018 0:45   16/10/2018 1:50      1.1
ab9        23/01/2019 1:44   23/01/2019 7:05      5.3
ab10       22/05/2019 6:19   26/07/2019 23:07     1,576.8

Mit R möchte ich die Fehlerstunden pro Monat zusammenfassen, um die folgende Ausgabe zu erhalten:

   Month    Total Fault hours 
   Oct-18       1.1 
   Nov-18       11.8 
   Dec-18       0.0 
   Jan-19       0.0
   Feb-19       0.0 
   Mar-19       2.0 
   Apr-19       1.9 
   May-19       210.0 
   Jun-19       78.9 
   Jul-19       7.9

Ich habe ein paar Vorschläge mit Lubridate ausprobiert, aber ich scheine immer nur in der Lage zu sein, es für jeweils eine Fehler-ID zum Laufen zu bringen. Ich bin neu bei R. Vielen Dank im Voraus für Ihre Hilfe.

Ronak shah

Es scheint, dass die erwartete Ausgabe eine Fehleinschätzung enthält, aber Sie können dies tun tidyverse. Konvertieren Sie zuerst die Spalten in Datum-Uhrzeit, den group_byersten Tag eines jeden Monats sum fault.hoursund die fehlenden Monate in der Mitte können mit gefüllt werden complete.

library(tidyverse)
library(lubridate)

df %>%
  mutate_at(vars(starts_with("date")), dmy_hm) %>%
  mutate(date = as.Date(format(date_reported, "%Y-%m-01")),
         #If you really have values with comma
         fault.hours = readr::parse_number(as.character(fault.hours))) %>%
  group_by(date) %>%
  summarise(hours = sum(fault.hours)) %>%
  complete(date = seq(min(date), max(date), by = "1 month"),
                  fill = list(hours = 0)) %>%
  mutate(date = format(date, "%b-%Y"))


# A tibble: 10 x 2
#   date      hours
#   <chr>     <dbl>
# 1 Oct-2018   12.9
# 2 Nov-2018    0  
# 3 Dec-2018    0  
# 4 Jan-2019    5.3
# 5 Feb-2019    0  
# 6 Mar-2019    4.8
# 7 Apr-2019    1.9
# 8 May-2019 1577. 
# 9 Jun-2019   79.9
#10 Jul-2019    7.9

Daten

df <- structure(list(fault_ID = structure(c(1L, 3L, 4L, 5L, 6L, 7L, 
8L, 9L, 10L, 2L), .Label = c("ab1", "ab10", "ab2", "ab3", "ab4", 
"ab5", "ab6", "ab7", "ab8", "ab9"), class = "factor"), date_reported = 
structure(c(9L, 1L, 4L, 5L, 8L, 2L, 10L, 3L, 7L, 6L), 
.Label = c("12/03/2019 18:48", "15/06/2019 12:58", "16/10/2018 0:45", 
"19/10/2018 22:00", "20/03/2019 10:07", "22/05/2019 6:19", "23/01/2019 1:44", 
"30/07/2019 8:37", "8/04/2019 1:36", "8/06/2019 22:30"), class = "factor"), 
date_closed = structure(c(9L, 1L, 5L, 4L, 8L, 3L, 10L, 2L, 6L, 7L), 
.Label = c("12/03/2019 20:45", "16/10/2018 1:50", "18/06/2019 19:55", 
"20/03/2019 13:00", "20/10/2018 9:45", "23/01/2019 7:05", "26/07/2019 23:07", 
"30/07/2019 16:30", "8/04/2019 3:30", "8/06/2019 23:30"), class = "factor"), 
fault.hours = structure(c(4L, 4L, 5L, 6L, 8L, 9L, 2L, 3L, 7L, 1L),
.Label = c("1,576.8", "1.0", "1.1", "1.9", "11.8", "2.9", "5.3", "7.9", "78.9"),
class = "factor")), class = "data.frame", row.names = c(NA, -10L))

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Verwenden der "on"-Methode, um mehrere Ereignisse für mehrere Selektoren zu definieren

Ermitteln des MAX-Werts für jeden Tag in einem Monat über mehrere Jahre in MySQL

Sie möchten mehrere Bedingungen für dasselbe Feld verwenden, um die Ereignisse in Data Studio zu zählen

Verwenden von Pandas, um die Gesamtzahl der Ereignisse pro Tag und Person zu ermitteln

Verwenden von Threads, um mehrere Dinge zu tun, ohne für jeden einen Thread zu haben

Gibt es eine Möglichkeit für mehrere FutureBuilder, dieselbe Zukunft von einem ChangeNotifier zu verwenden?

Wie transformiere ich einen Datenrahmen, um die Zeit für verschiedene Ereignisse zu ermitteln?

Abfrage, um den für den Monat fehlenden Wert zu ermitteln

Verwenden von mutate_at () für eine verschachtelte Datenrahmenspalte, um mehrere nicht verschachtelte Spalten zu generieren

Verwenden von value_counts, um eindeutige Werte für mehrere Spaltenkombinationen zu finden

Verwenden Sie R, um mithilfe von sf . zu ermitteln, welche Landkreise in größeren Kongressbezirken liegen

Wenden Sie MATLAB sscanf an, um für mehrere Elemente in einem Spaltenvektor von Hex in Dec zu konvertieren

So ermitteln Sie die Entfernung von Long / Lat für mehrere Stichproben in einem Datensatz in r

Cypher: So verwenden Sie FOREACH für ein Array von Objekten, um mehrere Knoten und mehrere Beziehungen zu erstellen

Verwenden Sie R, um die Startdifferenz zweier Zeichenfolgen zu ermitteln

Zählen der Anzahl der Monate von einer Spalte in einem Datenrahmen bis zu jedem Monat in einer Sequenz für mehrere Zeilen

Verwenden von Pivot Wide (R), um mehrere Linien zu einer einzigen Linie zu machen

Meteor-Router für mehrere Layouts, um unterschiedliche Layouts für zu Hause zu verwenden

Kombinieren von Jahr-Monat-Tagen-Spalten, um einen Index für Zeitreihendaten in R . zu bilden

Verwenden von Pandas, um die Anzahl der doppelten Sätze in einem Datenrahmen zu ermitteln

Verwenden von Geopy, um den Ländernamen anhand der Koordinaten in einem Pandas-Datenrahmen zu ermitteln

Verwenden von Flink, um die Anzahl in einem Schlüsselfenster zu ermitteln

Ist es empfehlenswert, MVVM zu verwenden, um ein Repository für mehrere Dao zu verwenden?

Verwenden Sie infer, um den Wert für Observable in der Box zu ermitteln

Verwenden Sie Jquery, um die Länge der Tabelle für eine bestimmte Beschreibung zu ermitteln

Verwenden Sie WITH MOVE, um einen gültigen Speicherort für die Datei zu ermitteln. Ausnahme

Verwenden von Redis für Warteschlangen für mehrere Laravel-Anwendungen auf einem einzelnen Server

Verwenden von opencv, um den kürzesten Pfad für einen Satz von 6 Punkten auf einem Bild zu finden

Verwenden von Regex in Python für mehrere Textdateien, um Daten zu analysieren und zu sammeln, um sie zu Excel hinzuzufügen

TOP Liste

  1. 1

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  2. 2

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  3. 3

    TypeAhead.js zeigt keine Ausgangsschienen an?

  4. 4

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

  5. 5

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  6. 6

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  7. 7

    Warum funktioniert Phantomjs nicht mit dieser Site?

  8. 8

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  9. 9

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  10. 10

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  11. 11

    MongoDB eingebettetes Dokument unterscheiden und filtern

  12. 12

    Aktualisieren des Werts im Json-Objekt in Python

  13. 13

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  14. 14

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  15. 15

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  16. 16

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Holen Sie sich verwandte Pillen Inhalt mit angeklickten img in Angular

  20. 20

    Eclipse Oxygen - Projekte verschwinden

  21. 21

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

heißlabel

Archiv