ich einen Datenrahmen haben, die wie folgt aussieht:umformen meine Datenrahmen und das Hinzufügen einer Flagge
df <-
ID TIME IPREDP IPREDM
1 0.5 10 5
1 1.0 15 7
2 0.7 8 2
ich meine Daten neu zu gestalten wollen und kollabieren die IPREDP
und IPREDM
Spalten in eine Spalte namens IPRED
und eine Fahne hinzufügen genannt DVID
für jeden und loswerden der ursprünglichen IPREDP
und IPREDM
Spalten. Also sollte die Ausgabe so sein:
dfout <-
ID TIME DVID IPRED
1 0.5 1 10
1 0.5 2 5
1 1.0 1 15
1 1.0 2 7
2 0.7 1 8
2 0.7 2 2
Wie kann ich dies in R auf dem schnellsten Weg erreichen?
Mit tidyr und dplyr, 'df%>% sammeln (DVID, IPRED, IPREDP: IPREDM)%>% mutieren (DVID = als .integer (Faktor (DVID, Ebenen = c ('IPREDP', 'IPREDM')))) – alistaire
mit Bibliothek (Umformen2), 'schmelzen (df, measure.vars = c (" IPREDP "," IPREDM "), value.name = "IPRED") ' – dww
In der Basis R -' reshape (df, idvar = c ("ID", "ZEIT"), direction = "long", variierend = 3: 4, v.names = "IPRED ", Zeitvar =" DVID ")' – thelatemail