Ich habe bereits nach mehreren Beispielen gesucht, aber ich habe keine gefiltert gefiltert Werte & ihre Daten gefunden.Spread() Datenrahmen basierend auf ID und Wert in einer anderen Spalte
Date <-c('3/13/2017 6:21', '3/20/2017 6:28','3/13/2017 6:22','3/20/2017 6:28',' 3/13/2017 6:23','3/20/2017 6:28','3/13/2017 6:24',' 3/20/2017 6:28', ' 3/24/2017 6:28')
Enabled_value<-c(0,1,0,1,0,1,0,1,0)
Helper<-c('39RTU1','39RTU1','39RTU2','39RTU2','39RTU2','39RTU3','39RTU3','39RTU4','39RTU4', '39RTU4')
aussehen:
Helper Date(Enabled Value =0) Date (Enabled Value =1)
39RTU1 3/13/2017 6:20 3/20/2017 6:28
39RTU2 3/13/2017 6:21 3/20/2017 6:28
39RTU3 3/13/2017 6:22 3/20/2017 6:28
39RTU4 3/13/2017 6:24 3/20/2017 6:28
39RTU4 3/24/2017 6:28
Wie Sie sehen können, ich Zeitstempel für jede Beobachtung habe - jede Zeile sollte eine Instanz sein (dh von Enabled_value von 0 bis 1 zu bewegen, und wenn die letzten Enabled_value für die Einheit = 0, sollte es eine neue Zeile (siehe 39RTU4 unten).
ich habe bereits umfangreiche Arbeiten Reduzierung dieser Datensatz erfolgen (von 500k Zeilen bis 2k).
Ich versuche, tidyr
und dplyr
zu verwenden, aber mein spread
hält laufende Fehler.
> sorted_data1<-spread(sorted_data,Enabled_Value,Helper)
Error: Duplicate identifiers for rows (1340, 1342)
Ich denke, diese Frage zu https://stackoverflow.com/questions/47043098/transpose-columns-group-by-time-and-customer-id – markdly