2016-10-11 7 views
-1

EingangsformatCasting einen Datenrahmen

structure(list(FROM_STOP_ID = c("DEP10001", "DEP10001", "DEP10001", 
          "DEP10001", "DEP10001", "DEP10001", 
      "DEP10001", "DEP10001", "DEP10001", 
          "DEP10001"), 
      TO_STOP_ID = c("DEP10001", "DEP10022", 
      "DEP25005", "DEP35024", "DEP45024", "DEP50002", 
      "STP62369", "STP62829", "STP63844", "STP63889"), 
      TRAVEL_TIME = c(0, 518, 497, 131, 0, 131, 483, 137, 
          489, 504)), .Names = c("FROM_STOP_ID",  "TO_STOP_ID", "TRAVEL_TIME" 

outpout Format Erwarteter

Erste Spalte von Eingangs datframe als rownames, zweite Spalte als Spaltennamen, die dritte Spalte als Werte

structure(list(DEP10001 = 0, DEP10022 = 518, DEP25005 = 497, 
DEP35024 = 131, DEP45024 = 0), .Names = c("DEP10001", "DEP10022", 
"DEP25005", "DEP35024", "DEP45024"), row.names = "DEP10001", class = "data.frame") 
+0

Der erste data.frame oben ist schlecht gebildet, aber 'tidyr :: spread (df1, TO_STOP_ID, TRAVEL_TIME)' oder jede andere lange bis breite Variante. – alistaire

Antwort

0

up gefüllt Wir kann dies mit xtabs von base R

tun
+0

as.data.frame (acast (Reisezeit, FROM_STOP_ID ~ TO_STOP_ID, value.var = "TRAVEL_TIME")) – Eswar

+0

das funktioniert besser für mich. Danke – Eswar

+0

@Eswar Sie müssen eine Bibliothek dafür laden. – akrun