見出し画像

ボルケーノプロット:log変換の意味

これまでに紹介したボルケーノプロットでは、 p-value をそのまま用いず、 log変換してプロットしています。その意味を解説します。

log変換しないとどうなるか

まず、log変換しないとどうなるかを見てみましょう。-log10() の部分を削除すると、コードは下記のようになります。

g <- ggplot(de_result, aes(logFC, PValue))
g + geom_point() +
  geom_vline(xintercept = c(-1, 1), linetype = "dotted") +
  geom_hline(yintercept = 0.05, linetype = "dotted")

ボルケーノプロットの意図としては、 p-value < 0.05 を示すことにあるので、 y = 0.05 の補助線を追加して、下図のような結果になります。

p-value を log変換せずにプロット

どうでしょうか?何を言いたいのか、よく分からない見た目になっているのではないでしょうか。見せたい部分は、 y = 0.05 以下の領域ですが、データの大半が、 p-value > 0.05 ですので無理もありません。

ひとことで言うならば、 log 変換する意味は、「データの見せたい部分を強調する」ことにあります。ボルケーノプロットの場合は、log変換のあと、さらにマイナスを付けているので、プロットが反転しています。これは、p-value が小さいほど、逆に、上部に表示されるよう意図した処理です。

底が10である意味

では、log 変換の際に、 log10 と、底を「10」にしている意味は、どうでしょうか?

実は、こちらは、「全く意味はありません」。log変換であればよくて、底は、2でも、e でも問題ありません。下記に、-log2変換した結果を示します。

g <- ggplot(de_result, aes(logFC, -log2(PValue)))
g + geom_point() +
  geom_vline(xintercept = c(-1, 1), linetype = "dotted") +
  geom_hline(yintercept = 4.322, linetype = "dotted")
底を2にした場合

このように、データを視覚化する際には、計算結果をそのまま用いず、何らかの処理を加えてあることがほとんどです。それが、どのような意味を持つのか、注意深く見る必要があります。強調された見た目に影響されすぎないようにしましょう。



この記事が気に入ったらサポートをしてみませんか?