R 对同一ggplot使用不同的数据帧

R 对同一ggplot使用不同的数据帧,r,ggplot2,R,Ggplot2,我在ggplot2中找到了%+%运算符的示例,用于为同一绘图使用不同的数据帧。有一些例子 当我尝试此操作时,会收到一条错误消息: df <- data.frame(x=rnorm(1000), y=rnorm(1000)) p <- ggplot(df, aes(x,y)) + geom_point() p p %+% df[1:100,] 基本问题是在ggplot2之后加载psych包,这会给您一条消息: 附加软件包:“psych” 以下对象被“package:ggplot2”屏

我在
ggplot2
中找到了
%+%
运算符的示例,用于为同一绘图使用不同的数据帧。有一些例子

当我尝试此操作时,会收到一条错误消息:

df <- data.frame(x=rnorm(1000), y=rnorm(1000))
p <- ggplot(df, aes(x,y)) + geom_point()
p
p %+% df[1:100,]

基本问题是在
ggplot2
之后加载
psych
包,这会给您一条消息:

附加软件包:“psych” 以下对象被“package:ggplot2”屏蔽: %+%,阿尔法


由于R的解析器允许有限的字符集来分隔运算符,因此::+反勾选技巧
p ggplot2::`%+%`newdata
将不起作用。除了确保在
ggplot2
之前加载
psych
,您还可以

`%+%` <- ggplot2::`%+%`

对您的代码进行修改,以确保这不会意外发生…

ggplot2\u 1.0.1
上对我有效。尝试更新您的
ggplot2
软件包。您还可以查看
?“%%+%”
是否找到ggplot2函数刚刚发现
psych
包覆盖了
%%
函数。是否有方法调用
ggplot2
version explizit<代码>ggplot2::%+%不起作用。在加载
ggplot2
之前加载
psych
?或者在`ggplot2:`%%``中的
%+%
周围加上单引号,谢谢,这就解决了我的问题。@BenBolker我想试试
ggplot2:
符号,因为它在出现错误时似乎更稳定,但我无法让它工作。R总是抱怨“p ggplot2”中出现
意外符号。p是我的图形,我尝试ggplot2::“%+%”,但“是单回记号,现在将突出显示我的命令。我也尝试了只用一个冒号、双回记号和许多不同的组合,但总是出现相同的错误。实际上,我在我的函数中将
%+%
重新分配给
%myadd%
,只是为了确保。。。我经常使用
psych
软件包,它经常在后台加载,我不想麻烦。。。我不明白为什么回击技巧没有按我的方式起作用,但现在还不完全清楚;-)但我有你的解决方案,谢谢。
`%+%` <- ggplot2::`%+%`
if(find("%+%")[1]=="package:psych") stop("oops")