小编bc_*_*ana的帖子

内部创建的ggplot2对象与外部函数之间的RDS文件大小差异

我正在尝试构建一个使用函数生成多个ggplot2对象的R项目.但是,我注意到,将这些对象保存为RDS文件时,文件大小比我预期的要大得多.我意识到,保存使用函数生成的RDS对象以及全局环境中的相同图,尽管在R会话中占用了相同的内存,但仍会提供两种截然不同的文件大小.例如:

library(ggplot2)
data <- data.frame(x = rnorm(1e6))

p1 <- ggplot(data) + 
  geom_histogram(aes(x = x))

plot_fun <- function(y) {
  p <- ggplot(y) +
    geom_histogram(aes(x = x))
  return(p)
}

p2 <- plot_fun(data)

object.size(p1) # 8 Mb
object.size(p2) # 8 Mb

saveRDS(p1, "plot1.rds")
saveRDS(p2, "plot2.rds")

file.info("plot1.rds", "plot2.rds")
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?我是否从函数中错误地返回了对象?

r ggplot2

4
推荐指数
1
解决办法
367
查看次数

标签 统计

ggplot2 ×1

r ×1