我找到了%+%
中ggplot2
运算符的示例,以便为同一个图使用不同的数据框。示例可用here。
当我尝试这个时,我收到一条错误消息:
df <- data.frame(x=rnorm(1000), y=rnorm(1000))
p <- ggplot(df, aes(x,y)) + geom_point()
p
p %+% df[1:100,]
p%+%df [1:100,]中的错误:x必须是向量或矩阵
我是否误解了网站上的例子?
sessionInfo()
sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.9.5 (Mavericks)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] cfpscripts_0.4.0 seqinr_3.1-3 ade4_1.7-2 gridExtra_0.9.1 psych_1.5.4 reshape2_1.4.1 plyr_1.8.3 knitr_1.10.5 rMQanalysis_0.2.0 ggplot2_1.0.1 testthat_0.10.0
[12] devtools_1.8.0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 git2r_0.10.1 tools_3.2.0 digest_0.6.8 memoise_0.2.1 gtable_0.1.2 lattice_0.20-31 curl_0.8 parallel_3.2.0
[10] proto_0.3-10 stringr_1.0.0 imbproteomicsr_0.1.7 xml2_0.1.1 rversions_1.0.1 data.table_1.9.4 sp_1.1-1 magrittr_1.5 scales_0.2.5
[19] cfppdfs_0.3.4 MASS_7.3-40 mnormt_1.5-3 splitstackshape_1.4.2 logspline_2.1.8 colorspace_1.2-6 labeling_0.3 stringi_0.5-5 munsell_0.4.2
[28] chron_2.3-45 crayon_1.3.0 zoo_1.7-12
答案 0 :(得分:3)
基本问题是在 psych
之后加载ggplot2
包,它会给您一条消息:
附加包装:'心理' 以下对象从'package:ggplot2'中隐藏: %+%,alpha
由于R的解析器允许一组有限的字符来分隔运算符,因此:: +反向标记技巧p ggplot2::`%+%` newdata
将不起作用。除了确保在psych
之前加载ggplot2
之外,您还可以
`%+%` <- ggplot2::`%+%`
在全局工作区中创建运算符的另一个副本,但最好只关注加载psych
和ggplot2
。
您可以添加测试
if(find("%+%")[1]=="package:psych") stop("oops")
到你的代码,以确保不会偶然发生......