【发布时间】:2018-03-09 14:25:03
【问题描述】:
我正在尝试使用 ggplot2-package 中的 ggplot() 创建一个绘图,但是当我执行我的代码时,R 会立即崩溃,例如:
library(ggplot2)
library(data.table)
ggplot(data=dt, aes(x=year, y=value, fill=variable)) +
geom_bar(stat="identity", width=0.85)
这发生在多个版本的 RStudio 和 RGUI 中(与 here 描述的问题相反)。对ggplot 的任何调用都会发生这种情况,即使使用数据帧而不是 data.table 作为输入也是如此。
当我将绘图保存在单独的对象中时,它不会立即崩溃。但是,一旦我尝试打印情节,一切都会崩溃。
test_plot <- ggplot(data=dt, aes(x=year, y=value, fill=variable)) +
geom_bar(stat="identity", width=0.85)
print(test_plot)
我可以在ggplot2-package 之外生成图就好了。
我已经看到ggplot2 导致崩溃的报告,但这些都是两年前的事情,被认为是 RStudio 错误,这里似乎不是这种情况。
有没有人看到这种行为,更重要的是,我该如何解决?
编辑:
当我不打印绘图时也会发生这种情况,但尝试使用ggsave() 保存它:
ggsave("test.png", test_plot, device = "png")
数据和会话信息
dt <- structure(list(year = c("2014", "2015", "2016", "2014", "2015",
"2016"), variable = c("1", "1", "1", "2", "2", "2"), value = c(82.1,
47.8, 60.8, 706.6, 580.2, 128.4)), .Names = c("year", "variable",
"value"), class = c("data.table", "data.frame"), row.names = c(NA,
-6L), .internal.selfref = <pointer: 0x102009f78>)
sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
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] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_2.2.1 data.table_1.10.4-3
loaded via a namespace (and not attached):
[1] colorspace_1.3-2 scales_0.5.0 compiler_3.4.3 lazyeval_0.2.1 plyr_1.8.4 tools_3.4.3 pillar_1.2.1 gtable_0.2.0
[9] tibble_1.4.2 yaml_2.1.18 Rcpp_0.12.15 grid_3.4.3 rlang_0.2.0 munsell_0.4.3
【问题讨论】:
-
我无法重现您的问题。
ggplot(data=dt, aes(x=year, y=value, fill=variable)) + geom_bar(stat="identity", width=0.85)对我来说很好。请注意,ggplot(...)命令中缺少右括号。在test_plot的ggplot(...)命令中也缺少它。 -
你试过安装ggplot2的开发版吗?
devtools::install_github("tidyverse/ggplot2") -
添加了缺少的括号,谢谢。我刚刚尝试了您的建议,@MarcoSandri 但问题仍然存在。