ich einen Datenrahmen müssen yearmon, die wie folgt aussiehteinen Faktor Zeitvariable Converting Variable
head(elnino)
YEAR..MONTH NINO.3 NINO.3.4 rainfall
1 1950 Jan -1.28 -1.34 5.8
2 1950 Feb -1.10 -1.25 17.8
3 1950 Mar -0.92 -1.16 22.4
4 1950 Apr -0.75 -1.01 8.0
5 1950 May -0.47 -0.75 44.0
6 1950 Jun -0.49 -0.74 146.8
Nun ist die erste Spalte dh ist YEAR..MONTH der Klasse FACTOR. Ich möchte es in Klasse Jahrmon konvertieren. Aber ich bin immer die NA, wie unten gezeigt,
as.yearmon(elnino[,1], "%Y-%m")
NA
Außerdem ggplot nicht yearmon Klasse unterstützt beim Plotten.
Kann mir bitte jemand bitte sagen, wie man mit Datum dieses Typs umgeht?
Die Daten werden wie folgt
dput(head(elnino))
structure(list(YEAR..MONTH = c("1950 Jan", "1950 Feb", "1950 Mar",
"1950 Apr", "1950 May", "1950 Jun"), NINO.3.ANOM = c(-1.28,
-1.1, -0.92, -0.75, -0.47, -0.49), NINO.3.4.ANOM = c(-1.34, -1.25,
-1.16, -1.01, -0.75, -0.74), rainfall = c(5.8, 17.8, 22.4, 8,
44, 146.8)), .Names = c("YEAR..MONTH", "NINO.3.ANOM", "NINO.3.4.ANOM",
"rainfall"), row.names = c(NA, 6L), class = "data.frame")
Darüber hinaus ist die Störung, die ich erhalten, während yearmon Klassenobjekte Plotten mit ggplot wird wie folgt,
qplot(YEAR..MONTH,rainfall,data = elnino,geom="line")
Don't know how to automatically pick scale for object of type yearmon. Defaulting to continuous
Error: Discrete value supplied to continuous scale
Bitte fügen Sie die Ausgabe von 'dput (Kopf (elnino))' in Frage anstelle der Datenprobe Sie zur Verfügung gestellt, damit wir eine Stichprobe Ihrer Daten mit der gleichen Struktur wie Ihre tatsächlichen Daten haben. Bitte zeigen Sie auch den Code an, der für Ihr Problem relevant ist (einschließlich des ggplot-Codes) und alle Fehlermeldungen, die Sie erhalten. – eipi10
Die unmittelbare Antwort ist, dass das Format, das Sie an 'as.yearmon' übergeben, nicht mit dem übereinstimmt, was im data.frame gefunden wird. Ohne die eigentlichen Daten ist es jedoch schwierig, mehr zu tun, als dies zu sagen. Ohne zu wissen, was Sie versuchen zu entwerfen, kann ich keine sinnvolle Problemumgehung vorschlagen. –
probe 'as.yearmon (elnino [, 1],"% Y% b ")'% b bezieht sich auf einen abgekürzten Monat und Ihre Spalte sieht im Format Jahr, drei Leerzeichen, abgekürzter Monat aus. Dieses Bit in Anführungszeichen bezieht sich auf das Format, in dem sich die konvertierten Daten befinden, und nicht so, wie es nach der Umwandlung aussehen soll. – Austin