連続する 4 日間 (約 340,000 データ ポイント) の毎秒の観測を含むデータセットがあります。これは、散布図で表示するには多すぎます。たとえば、2000 時点の均一なサンプルのみをプロットしたいと思います。
ggplot2
の「グラフィックスの文法」アプローチでこれを達成することは可能ですか? 組み込みの「サンプリング」修飾子は見つかりませんでしたが、おそらく簡単に記述できますか?
library(ggplot2)
x <- 1:100000
d <- data.frame(x=x, y=rnorm(length(x)))
ggplot(d[sample(x, 2000), ], aes(x=x, y=y)) + geom_point()
これは、ggplot に渡されたデータを変更することで「ハッキング」される方法です。ただし、データを変更したくはありません。サンプルのみを含めるようにフィルター処理するだけです。
ggplot(d, aes(x=x, y=y)) + ??? + geom_point()
編集:私は、スムージングやビニングではなく、特にサンプリングを探しています。私が持っているデータは、特定のプロセスの 1 秒をシミュレートするのにかかる時間を示しています。シミュレーションは並列化されており、シミュレートされた秒ごとに、関連する各コア (合計 8) の実行時間が表示されます。生データ ポイントだけをプロットして、最適ではない負荷分散を示したいと考えています。サンプリングの理由は、散布図には 300,000 のデータ ポイントが多すぎるためです。プロットに時間がかかりすぎて、視覚化が適切ではありません。