r - ggplot2:使用 %+% 绘制新数据

标签 r ggplot2

当我尝试使用 %+% 时遇到了障碍运算符以使用新数据重做现有绘图。我的代码如下所示:

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/

相关文章:

r - 使用 SparkR 1.5 从 RStudio 中的 hdfs 读取大文件(纯文本、xml、json、csv)的选项

r - geom_smooth() : One line, 不同的颜色

r - 如何在 geom_dotplot 中使用颜色?

r - 如何使用 ggplot2 将标准误差线添加到箱须图?

r - lapply 与回归模型的多个列表和函数

重命名拟合模型对象中的术语

c++ - 将对象传递给 C/C++ 时如何禁止 R 垃圾回收?

r - 将离散标签添加到具有连续比例的 ggplot2 图

r - scale_fill_manual定义NA值的颜色

r - left_join 两个数据帧并覆盖