gpt4 book ai didi

r - 如何处理ggplot2的 "data of class uneval"错误?

转载 作者:行者123 更新时间:2023-12-03 04:50:51 25 4
gpt4 key购买 nike

尝试将新行覆盖到现有 ggplot 时,我收到以下错误:

Error: ggplot2 doesn't know how to deal with data of class uneval

我的代码的第一部分工作正常。下面是美国中西部电力市场“最近”每小时风力发电数据的图像。

Recent Hourly Wind Data

现在我想用红色覆盖过去两天的观察结果。这应该很容易,但我不明白为什么会出现错误。

任何帮助将不胜感激。

下面是一个可重现的示例:

# 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

最佳答案

当您向 geom 添加新数据集时,您需要使用 data= 参数。或者以正确的顺序放置参数mapping=..., data=...。看一下 ?geom_line 的参数。

因此:

p + geom_line(data=df.last, aes(HrEnd, MWh, group=factor(Date)), color="red") 

或者:

p + geom_line(aes(HrEnd, MWh, group=factor(Date)), df.last, color="red") 

关于r - 如何处理ggplot2的 "data of class uneval"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com