En essayant de superposer une nouvelle ligne à un ggplot existant, j'obtiens l'erreur suivante:
Error: ggplot2 doesn't know how to deal with data of class uneval
La première partie de mon code fonctionne bien. Ci-dessous, une image des données horaires "récentes" de production éolienne d'un marché de l'énergie électrique du Midwest des États-Unis.
Maintenant, je veux superposer les deux derniers jours d'observations en rouge. Cela devrait être facile, mais je ne comprends pas pourquoi j'obtiens une erreur.
Toute assistance sera grandement appréciée.
Voici un exemple reproductible:
# 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