为什么在RStudio中使用GGally::ggpairs比基础版R慢得多?

9

根据标题,有人知道为什么在RStudio中从GGally包中呈现一个ggpairs图需要比在基本的R(或终端)中花费更长的时间吗?

例如:

start.time <- Sys.time()
ggpairs(mtcars)
end.time <- Sys.time()
time.taken <- end.time - start.time
time.taken

在我的电脑上,在RStudio中运行此程序所需的时间大约比基本R长5倍。我不管是在Windows还是Mac操作系统下都遇到了相同的减速问题。
是否有任何解决方法?
其他软件包?
具体地说,如何快速地呈现像这样的内容:GGally :: ggpairs(iris,color =“Species”),而不离开RStudio?

这只是RStudio的内部图形设备吗?如果启动一个独立的图形设备会发生什么?它还是很慢吗?[不确定如何在Windows R中启动一个,Unix R上是“X11()”....] - Spacedman
4
看起来是这样。在RStudio中使用x11(),然后绘图,最后使用dev.off()可以显著加快速度。 - JasonAizkalns
1
可能是因为RStudio图形设备进行了抗锯齿和透明处理。 - Spacedman
1个回答

2
我遇到了类似的问题,花费了一些时间来尝试弄清楚原因。我发现了四个重要的问题(不是详尽无遗的列表)。如果你的情况和我的相似,那么1和2是你最主要的关注点。
  1. 集成开发环境。RStudio在执行ggpairs时比R慢。
  2. 计算环境。我没有足够的资源来对此进行全面测试,但我们很可能在谈论GPU,因为这是一个图形处理问题。
  3. 变量数量。变量越多,时间呈指数级增长。
  4. 连续操作。如果你在使用低功率机器工作,过多的请求会减缓执行速度。

你可以在我的github上阅读更多信息:https://github.com/zstachniak/Elapsed-Time-Pairwise-Functions/blob/master/ggpairs.md


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接