February 8, 2014

R言語(ggplot2)など

こんにちは、ジョゼフィーヌです。
2つの件を同時に投稿させていただきます。

①『非コードRNA領域』学会に参加した気持ち
②  R言語の"ggplot2"を用いたグラフの書き方について投稿の依頼があったので、ご興味ある方は下記に参考してください

========================================================================
①『非コードRNA領域』

『非コードRNA領域』と『非コードDNA領域』は、違う集まりだったんですね(笑)!博士過程のごろは、後半のプロジェクトに関わる太田研究室に所属していました。一方で2013年6月からは、ポスドク1年目として前半のポロジェクとに関わる程研究室にいます。そしてこのようなことが起きました。

私  あれ?太田先生はいらっしゃらないのですか?
相手 ここはね、『非コードRNA』なんですよー
私  (ショック)

ということで、何も知らないまま最後の会に突然参加させていただいたのですが、明るく歓迎してくれた皆さんに感謝しています。

4月にならないと予算がわからないというのが、大きな問題だと伺いました。お金の管理を学年と違って1〜12月にすれば、4月までの人材募集などが少しでも楽になりますかね(独り言)

ということでこれからもできれば日本で活動していきたいと思っているので、皆さんよろしくお願いします。

========================================================================
② R言語のggplot2で複数のプロットを同じPDFにアウトプットする方法(R言語を慣れた人のため)

注意!ここでggplot2自体の使い方は説明しません。

ステップ1
(このリンク)の下にあるmultiplot()という関数のコードをそのままコピペして実行させると、multiplot()がメモリーに保存されます。このステップは、Rコンソールを開いたたびに行う必要があります。毎回ネットからコピペしても大丈夫ですが、multiplot.Rというファイルに保存しておくと便利です。

ステップ2(ggplot2を使ったことがない人のみ)
ggplot2というパケージをインストールします。
install.packages(ggplot2)

ステップ3
ggplot2を呼び出します。
library(ggplot2)

ステップ4(ここで自分のデータを用意すること)
グラフはなんでも使えますが、今回はmultiplot()の使い方を見せるためにggplot2に含まれるdiamondsというデータセットでプロットを作るので、そのデータセットを変数に入れておきます。

ステップ5
グラフをすぐに表示せず、まずはグラフそのものを関数に保存しましょう。それぞれのグラフを、違う関数に入れておきましょう。
p1 <- qplot(carat, price, data = diamonds)
p2 <- qplot(log(carat), log(price), data = diamonds)
p3 <- qplot(carat, x * y * z, data = diamonds)
p4 <- qplot(carat, price, data = diamonds, alpha = I(1/10))
p5 <- qplot(carat, price, data = diamonds, alpha = I(1/100))

ステップ6
multiplot()を使ってみましょう。欄の数は、cols= のところで設定できます。ご覧のように、右の欄から、上→下を順番的に入れられます。プロットの順番を変えたいと思ったら、例えばmultiplot(p1, p5, p2, p4, p3, cols=2)にします。
multiplot(p1, p2, p3, p4, p5, cols=2)

ステップ7
直接PDFへ保存する方法です。ステップ6の代わりに行ってもいいです。pdf()では、ファイル名とPDFのサイズを設定します。そして最後に、dev.off()で終了します。
pdf("test.pdf",width=15,height=10)
multiplot(p1,p2,p3,p4,p5,cols=2)
dev.off()

ファイルは、present working directory(現在いるフォルダー)に保存されます。それはどこかわからなくなったときは、次のコマンドラインで確認できます。
getwd()

今回の例は以下のようになりました。

No comments:

Post a Comment