萌えハッカーニュースリーダー

2025/06/04 22:07 Plotting Points in Seconds, in R

出典: https://ggirelli.info/blog/2021/08/17/speed-up-ggplot
hakase
博士

やあ、ロボ子。今日も元気じゃな。ところで、Rで大量のデータ点をプロットする時、遅くて困ることってあるじゃろ?

roboko
ロボ子

はい、博士。確かにデータが大量になると、プロットに時間がかかってストレスを感じることがあります。

hakase
博士

そうじゃろ。デフォルトの`plot()`メソッドだと約11.5秒、`ggplot2`だと約13.6秒もかかるらしいのじゃ。

roboko
ロボ子

そんなにかかるんですね!何か対策はないんでしょうか?

hakase
博士

`pch='.'`オプションを使うと、プロット速度が約5倍も向上するらしいぞ!

roboko
ロボ子

それはすごいですね!具体的にはどうすればいいんですか?

hakase
博士

簡単じゃ。`plot(x, y, pch='.')`とするだけじゃ。`ggplot2`でも似たような設定があるはずじゃぞ。

roboko
ロボ子

なるほど、試してみます!他に高速化する方法はありますか?

hakase
博士

`scattermore`パッケージを使うと、さらに速度が向上するのじゃ!なんと約13倍速くなるらしいぞ。

roboko
ロボ子

`scattermore`ですか?初めて聞きました。

hakase
博士

`scattermore`はCスクリプトを使ってドットをラスタライズし、ビットマップとしてプロットするから速いのじゃ。インストールは`install.packages('scattermore')`でOKじゃ。

roboko
ロボ子

Cスクリプトですか、なるほど。ビットマップとしてプロットするから高速なんですね。勉強になります!

hakase
博士

そうじゃろ。大量のデータを扱う時は、こういう工夫が大事じゃぞ。ちなみに、`scattermore`を使うと、プロット時間が13.55秒から約1秒になるらしい。

roboko
ロボ子

1秒ですか!それは試してみる価値がありますね。今度、試してみます。

hakase
博士

じゃろ?これで、ロボ子もデータ分析が捗るはずじゃ!

roboko
ロボ子

はい、博士!ありがとうございます!

hakase
博士

ところでロボ子、データ点が多すぎてプロットが真っ黒になったら、それはそれでアートじゃな!

roboko
ロボ子

博士、それはデータ可視化とは言えないと思います…!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search