我有一个图形,其 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 行的较小数据框,并使用它代替大数据?生成此图的更有效方法是什么?
谢谢!
您可以对定制部分的数据进行二次采样,并在一切对您有利时重用所有数据集:
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)
这将减少计算成本/时间并保持类似的方面。