Beim Versuch, eine neue Zeile mit einem vorhandenen ggplot zu überlagern, wird der folgende Fehler angezeigt:
Error: ggplot2 doesn't know how to deal with data of class uneval
Der erste Teil meines Codes funktioniert gut. Unten sehen Sie ein Bild der "aktuellen" stündlichen Winderzeugungsdaten eines Strommarktes im Mittleren Westen der USA.
Jetzt möchte ich die Beobachtungen der letzten zwei Tage in Rot überlagern. Es sollte einfach sein, aber ich kann nicht herausfinden, warum ich einen Fehler erhalte.
Jede Unterstützung wäre sehr dankbar.
Unten ist ein reproduzierbares Beispiel:
# Read in Wind data
fname <- "https://www.midwestiso.org/Library/Repository/Market%20Reports/20130510_hwd_HIST.csv"
df <- read.csv(fname, header=TRUE, sep="," , skip=7)
df <- df[1:(length(df$MKTHOUR)-5),]
# format variables
df$MWh <- as.numeric(df$MWh)
df$Datetime <- strptime(df$MKTHOUR, "%m/%d/%y %I:%M %p")
# Create some variables
df$Date <- as.Date(df$Datetime)
df$HrEnd <- df$Datetime$hour+1
# Subset recent and last data
last.obs <- range(df$Date)[2]
df.recent <- subset(df, Date %in% seq(last.obs-30, last.obs-2, by=1))
df.last <- subset(df, Date %in% seq(last.obs-2, last.obs, by=1))
# plot recent in Grey
p <- ggplot(df.recent, aes(HrEnd, MWh, group=factor(Date))) +
geom_line(color="grey") +
scale_y_continuous(labels = comma) +
scale_x_continuous(breaks = seq(1,24,1)) +
labs(y="MWh") +
labs(x="Hour Ending") +
labs(title="Hourly Wind Generation")
p
# plot last two days in Red
p <- p + geom_line(df.last, aes(HrEnd, MWh, group=factor(Date)), color="red")
p