Im Folgenden finden Sie eine Tabelle, die ich in R. (Ereignisprotokoll)Wie zwei Reihen in R verschmelzen
Case.ID | Activity | Timestamp | Resource | State
------------------------------------------------------------
0 |Take order| 00:12:04 | Waiter | Assign
------------------------------------------------------------
0 |Take order| 00:18:02 | | Complete
------------------------------------------------------------
1 |Bring food| 00:47:23 | Cook helper | Assign
------------------------------------------------------------
1 |Bring food| 00:52:41 | | Complete
------------------------------------------------------------
1 |Bring food| 00:54:52 | Cook helper | Assign
------------------------------------------------------------
1 |Bring food| 00:59:11 | | Complete
Zeilen mit dem Wert in der Spalte Ressource habe, ist ein Start der Aktivität und das Ende der Aktivitäten kein Wert in dieser Zelle.
Ich habe versucht,
assign <- subset(csv, select=c(Case.ID,Activity,Timestamp,State), State=="assign")
complete <- subset(csv, select=c(Case.ID,Activity,Timestamp,State), State=="complete")
merge <- merge(assign, complete, by=c("Case.ID", "Activity"))
aber es zeigt, wie unten einige Fehler.
Zweite und vierte Zeile sollten eliminiert werden, aber nicht sicher, wie es geht.
Case.ID | Activity | Start.Timestamp | End.Timestamp |
------------------------------------------------------
1 |Bring food| 00:47:23 | 00:52:41 |
------------------------------------------------------
1 |Bring food| 00:47:23 | 00:59:11 |
------------------------------------------------------
1 |Bring food| 00:54:52 | 00:52:41 |
------------------------------------------------------
1 |Bring food| 00:54:52 | 00:59:11 |
Ist Ihre Ausgabe korrekt? – Sotos
Wenn Sie doppelte Zeilen loswerden müssen, können Sie 'df <- dplyr :: distinct (df)' oder 'df <- unique (df [, 1: 4])' verwenden, vorausgesetzt, Ihr Datenrahmen hat nur diese vier Spalten – Craig
Ich bearbeitet, um den genauen Code zu schreiben, den ich eintippte. –