Ketika mencoba untuk melapisi baris baru ke ggplot yang ada, saya mendapatkan kesalahan berikut:
Error: ggplot2 doesn't know how to deal with data of class uneval
Bagian pertama dari kode saya berfungsi dengan baik. Di bawah ini adalah gambar data pembangkit tenaga angin "terbaru" per jam dari pasar tenaga listrik Amerika Serikat bagian Barat Tengah.
Sekarang saya ingin menampilkan pengamatan selama dua hari terakhir di Red. Ini seharusnya mudah tetapi saya tidak tahu mengapa saya mendapatkan kesalahan.
Bantuan apa pun akan sangat dihargai.
Di bawah ini adalah contoh yang dapat direproduksi:
# 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