当我尝试使用 %+%
时遇到了障碍运算符以使用新数据重做现有绘图。我的代码如下所示:
df <- data.frame(ending=now()+hours(0:5), actual=runif(6), pred=runif(6))
p <- ggplot(df, aes(x=ending)) +
geom_line(aes(y=actual, color='Actual')) +
geom_line(aes(y=pred, color='Predicted')) +
ylab('Faults') +
scale_color_manual('Values', c("Predicted"="red", "Actual"="black"))
p
这很好用。但是当我尝试替换一个新的
df
时,我遇到了错误:p1 %+% df
Error in bl1$get_call : $ operator is invalid for atomic vectors
有什么想法吗?
最佳答案
当然,在我发帖后,我立即找到了答案——不是ggplot2
的 %+%
运算符(operator)。另一个命名空间冲突。 mboost
包还提供了%+%
运算符(operator)。
我通过做 detach(package:mboost)
“解决”了这个问题.我也可以通过做类似的事情来解决它
replot <- get('%+%', 'package:ggplot2')
replot(p, df)
避免命名空间冲突的解决方案是最好的,但我不知道该怎么做。
关于r - ggplot2:使用 %+% 绘制新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642360/