2017-06-21 3 views
0

Ich habe versucht, meine Daten neu zu gestalten, und ich bin zu einem Block gekommen, wie dies zu erreichen ist. Ich habe ziemlich große Datenmengen, aber hier ist ein Beispiel für eine einzelne Zeile:Daten replizieren und transponieren

TJ25_TAD 

TJ_num  Date    Bin 1 Bin2 Bin3 
TJ25  4/18/2006 19:00  1.5  73.9 16.2 

ich jede Zeile repliziert werden soll (jeweils Datum/Uhrzeit-Wert, für die ich Hunderte von Zeilen) und dann eine Spalte für die habe so sieht es so aus:

TJ25_TAD 

TJ_num  Date    TAD 
TJ25  4/18/2006 19:00  1.5 
TJ25  4/18/2006 19:00  73.9 
TJ25  4/18/2006 19:00  16.2 

Für jeden Datumswert habe ich eigentlich 12 Bins. Ich habe es geschafft, jeden Datumswert 12 Mal zu replizieren, ich weiß einfach nicht, wie ich die Bin-Daten ausfüllen soll. Ich habe über die melt() Funktion gelesen, aber ich weiß nicht, wie man es richtig einsetzt.

Antwort

0
dt <- read.table(text = "TJ_num Date 'Bin 1' 'Bin 2' 'Bin 3' 
    TJ25 '4/18/2006 19:00' 1.5 73.9 16.2", 
       header = TRUE, stringsAsFactors = FALSE) 

library(dplyr) 
library(tidyr) 

dt2 <- dt %>% 
    gather(Bin, TAD, 'Bin.1', 'Bin.2', 'Bin.3') %>% 
    select(-Bin)