Trong khi cố gắng phủ một dòng mới lên ggplot hiện có, tôi gặp lỗi sau:
Error: ggplot2 doesn't know how to deal with data of class uneval
Phần đầu tiên của mã của tôi hoạt động tốt. Dưới đây là hình ảnh dữ liệu sản xuất gió hàng giờ "gần đây" từ thị trường năng lượng điện vùng Trung Tây Hoa Kỳ.
Bây giờ tôi muốn phủ màu Đỏ cho giá trị quan sát trong hai ngày qua. Nó sẽ dễ dàng nhưng tôi không thể tìm ra lý do tại sao tôi gặp lỗi.
Bất kỳ sự trợ giúp nào cũng sẽ được đánh giá cao.
Dưới đây là một ví dụ có thể tái tạo:
# 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