在尝试将新行重叠到现有ggplot时,我收到以下错误:
Error: ggplot2 doesn't know how to deal with data of class uneval
Run Code Online (Sandbox Code Playgroud)
我的代码的第一部分工作正常.以下是来自美国中西部电力市场的"近期"每小时风力发电数据的图像.
现在我想用Red重叠最后两天的观察值.它应该很容易,但我无法弄清楚为什么我会收到错误.
任何帮助将不胜感激.
以下是可重复的示例:
# 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
Run Code Online (Sandbox Code Playgroud)
Jus*_*tin 164
当您向geom添加新数据集时,您需要使用该data=
参数.或者以适当的顺序放置参数mapping=..., data=...
.看看有关的论点?geom_line
.
从而:
p + geom_line(data=df.last, aes(HrEnd, MWh, group=factor(Date)), color="red")
Run Code Online (Sandbox Code Playgroud)
要么:
p + geom_line(aes(HrEnd, MWh, group=factor(Date)), df.last, color="red")
Run Code Online (Sandbox Code Playgroud)
smc*_*mci 13
另一个原因是意外地将data=...
内部aes(...)
而不是外部:
RIGHT:
ggplot(data=df[df$var7=='9-06',], aes(x=lifetime,y=rep_rate,group=mdcp,color=mdcp) ...)
WRONG:
ggplot(aes(data=df[df$var7=='9-06',],x=lifetime,y=rep_rate,group=mdcp,color=mdcp) ...)
Run Code Online (Sandbox Code Playgroud)
特别是当你用你的绘图命令原型制作时,这可能会发生qplot()
,它不使用显式aes()
,然后编辑/复制并粘贴到一个ggplot()
qplot(data=..., x=...,y=..., ...)
ggplot(data=..., aes(x=...,y=...,...))
Run Code Online (Sandbox Code Playgroud)
很可惜ggplot的错误信息不是缺少"数据"参数!而不是这个神秘的废话,因为这就是这个消息通常意味着什么.
归档时间: |
|
查看次数: |
127946 次 |
最近记录: |