R 直方图存储计算出的 bin 值

问题描述 投票:0回答:1

我有一个图形,其 x 轴上有百分比,y 轴上有位置。数据帧很大(超过 200 万行),因此我将点分组到 10k bin 并绘制 bin 的平均百分比。我使用的代码如下:

ggplot(data, aes(norm_location, percentage, colour = class)) +
  stat_summary_bin(fun = "mean", 
                   geom="point", 
                   bins = 10000) + 

由于数据的大小,每次我需要更改与图形相关的内容(标题、轴名称、颜色等)时,运行此代码都需要很长时间。有没有办法将 bin 的值存储在一个具有 10k 行的较小数据框,并使用它代替大数据?生成此图的更有效方法是什么?

谢谢!

r ggplot2 dplyr tidyverse histogram
1个回答
0
投票

您可以对定制部分的数据进行二次采样,并在一切对您有利时重用所有数据集:

set.seed(42)
data %>% 
  dplyr::slice_sample(n = 10000) %>% # or how many you want
  ggplot(aes(norm_location, percentage, colour = class)) +
    stat_summary_bin(fun = "mean", geom = "point", bins = 10000)

这将减少计算成本/时间并保持类似的方面。

© www.soinside.com 2019 - 2024. All rights reserved.