gpt4 book ai didi

r - 从 ggplot2 存储直方图以供稍后检索

转载 作者:行者123 更新时间:2023-12-04 05:52:18 26 4
gpt4 key购买 nike

是否可以存储从 geom_histogram() 生成的信息?以这种方式可以在后期检索?我想计算一个大型数据集的直方图,并存储它,以便我可以在稍后阶段添加另一层信息。

我之前确实考虑过使用 pdfjpeg这样做(并且最近就该主题询问了 question),但我认为如果我设法使用实际数据会更清晰。

最佳答案

我只是将我的评论移下来作为答案......

所有 ggplot2 调用都可以保存到一个变量中。只要变量保持不变,您就可以向其添加其他层。与任何其他变量或环境一样 - 这些绘图变量也可以保存到文件中以备后用。

例如:

dat <- data.frame(x=rnorm(10000),y=rnorm(10000))
plot1 <- ggplot(dat, aes(x))
plot2 <- ggplot(dat, aes(y))

save(file="~/Plots.Rdata",list=ls()[grep("plot",ls())]) # Save vars named plot...

rm(plot1,plot2) # Remove

load("~/Plots.Rdata") # Reload Plots

plot1 + geom_histogram() # Add new layer later
plot2 + geom_histogram() # Add new layer later

更新

为了回应您的评论,下面关于减小尺寸:

如果需要更小,您可以将直方图转换为密度图。请注意,执行此操作时会丢失信息,并且您实际上只是在创建密度的线图:
first.density <- density(dat$x) # Look at str(x.density) you'll see x and y 
second.density <- density(dat$y) # Look at str(y.density) you'll see x and y

dat1 <- data.frame(x=first.density$x,y=first.density$y)
dat2 <- data.frame(x=second.density$x,y=second.density$y)

plot3 <- ggplot(dat1, aes(x,y))
plot4 <- ggplot(dat2, aes(x,y))

如您所见,对象大小显着减小:
object.size(plot1)
object.size(plot2)
object.size(plot3)
object.size(plot4)

关于r - 从 ggplot2 存储直方图以供稍后检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9936269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com