ggplot:找不到对象'DiscreteRange'

时间:2015-08-13 18:32:45

标签: r ggplot2

这令人尴尬。在过去的几个月里,我一直在定期使用ggplot2软件包,现在突然间事情似乎发生了严重错误。

显然,每当我尝试绘制条形图时,我都会得到错误:

  

结构错误(list(call = match.call(),aesthetics = aesthetics,:     对象'DiscreteRange'未找到

这是导致的错误,例如,当我尝试运行代码时,如下所示:

library(ggplot2)
ggplot(diamonds, aes(x=cut)) + geom_bar()

没有图形输出,代码因上述错误信息而停止。

如果我没记错的话,这个用于几天前工作,所以我怀疑在(更新)另一个干扰的包中有一些错误。当然,我也可能犯了一个我看不到的非常愚蠢的错误。

我正在使用RStudio版本0.99.467;有关系统和相关软件包的更多信息如下:

> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.3 LTS

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_1.0.1

loaded via a namespace (and not attached):
[1] Rcpp_0.12.0         lattice_0.20-33     zoo_1.7-11          digest_0.6.8        MASS_7.3-43         grid_3.2.1          plyr_1.8.3          gtable_0.1.2       
[9] magrittr_1.5        scales_0.2.5.9003   stringi_0.5-5       reshape2_1.4.1      proto_0.3-10        blotter_0.9.1666    tools_3.2.1         stringr_1.0.0      
[17] munsell_0.4.2       colorspace_1.2-6    quantstrat_0.9.1669

我尝试重启一个新的R会话,甚至重新启动计算机,但都没有用。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

我打算猜测问题出在scales包,版本为0.2.5.9003。包含"四部分"版本号x.y.z.wwww看起来像我的开发版本。当前的CRAN版本是0.2.5:

 a1 <- available.packages()
 a1[a1[,"Package"]=="scales","Version"]  ## 0.2.5

我不知道你是如何最终得到开发版本的(devtools::install_github("hadley/scales")可能会这样做)但我会install.packages("scales")(或通过RStudio GUI的等价物)重新安装CRAN版本,看看是否能解决问题。

或者,您可以尝试保留scales的开发版本并转到ggplot2devtools::install_github("hadley/ggplot2"))的开发版本。

我使用ggplot2(1.0.1.9003)的开发版本以及scales(0.2.5.9003)的开发版本,您的示例工作正常。