Ich erhalte eine Fehlermeldung beim Versuch Schmelze () auf einem Datenrahmen zu verwenden, Daten enthält,
Frage
Ich möchte die dataframe
so schmelzen, dass in einer Spalte Ich habe Tage, und in einem zweiten Ich habe Benutzernamen als Variable und schließlich den Wert.
Ich erhalte diese Fehlermeldung:
Fehler in as.Date.numeric (Wert): 'Herkunft' zugeführt werden muss
und während ich den Fehler verstehe ich bin mir nicht ganz sicher, wie es zu umgehen.
Eine kleine Probe der Daten ist:
structure(list(created_at = structure(c(14007, 14008, 14009,
14010, 14011, 14012), class = "Date"), benjamin = c(16, 0, 0,
0, 0, 0), byron = c(0, 0, 0, 0, 0, 0), cameronc = c(0, 0, 0,
0, 0, 0), daniel = c(0, 0, 0, 0, 0, 0), djdiaz = c(0, 0, 0, 0,
0, 0), gene = c(16, 77, 64, 38, 72, 36), joel = c(0, 0, 0, 0,
0, 2), kerem = c(0, 0, 0, 0, 0, 0), sophia = c(0, 0, 0, 0, 0,
0), SuperMoonMan = c(0, 0, 0, 0, 0, 0)), .Names = c("created_at",
"benjamin", "byron", "cameronc", "daniel", "djdiaz", "gene",
"joel", "kerem", "sophia", "SuperMoonMan"), row.names = c(NA,
6L), class = c("cast_df", "data.frame"))
Danke für Ihre Hilfe.
Lösung
Versuchen Sie, die created_at
Variable in einen Zeichenvektor umgewandelt wird. melt
scheint auch nicht wie die cast_df
Klasse, aber ich hatte Erfolg durch die Klasse nur data.frame
zurückgesetzt wird. Wie so:
df <- as.data.frame(df)
df$created_at <- as.character(df$created_at)
library(reshape)
melt(df)
Andere Tipps
Sie Fehler werden durch rbind
verursacht in melt
verwendet, die Folge von falschen Daten zu schmelzen. Ich weiß nicht, wie Sie Ihren cast_df
data.frame
schaffen, aber es fehlt Attribute (idvars
und rdimnames
), die von melt.cast_df
erforderlich ist.
Deshalb wkmor1 Lösung funktioniert, melt.data.frame
brauchen nicht diese Argumente. Und ohne Date
Umwandlung in character
kann getan werden:
df <- as.data.frame(df)
melt(df, id="created_at")