【R言語】Rでざっくりグラフをかいてみたよ
こんにちは。プログラミング超初心者のえいこです。
仕事に活かすために、統計言語であるRを少しずつ勉強しています。
前回は、データをベクトル変数に入れて平均値や分散、標準偏差を出してみました。
今回も同じデータを使って、どんなデータなのかRStudioを使ってグラフを書いてみました。
今回使ったデータは、「t検定ってなんだっけ?」の記事で書いているデータを元にしています。
データの概要を把握するためにグラフをかいてみる
前回に引き続き、薬剤X投与群とプラセボ群でのタンパク質Aの発現を比較したデータを使います。
数値だけだと、ちょっと差がありそうだけどどれくらい違うのかいまいちピンと来ませんよね。
データの把握の第一歩は、グラフを書いてみること。
サクッとデータを把握するために使えるグラフは
・棒グラフ
・箱ひげグラフ(Rでかくのはちょっと大変そう...)
…あたりですかね?
“plot()”関数がサクサク使えると不自由しなさそうです
ちょっと棒グラフをかくのは難しそうだったので、最初は箱ひげグラフをかいてみます。
箱ひげグラフをかく関数は”boxplot()”。
> #箱ひげグラフを描いてみる
> boxplot(xtreat,placebo)
ドンっ!
RStudioの右下の画面に出てきます。
こんなにサクって描けるなんて...(涙)Excelでどんなに苦労したことか...
でも、X軸の各サンプルが何で、Y軸がどういうスケールなのかわからいし、0から始まっていないし違和感...
なんとかできないの?!
箱ひげグラフのをいじってみる
まず、コントロール群であるプラセボを左側に。
(これは、boxplot()直後の順番を変えるだけでOK)
> boxplot(placebo,xtreat)
次に、それぞれのサンプルの名前を変えます。サンプル1,2だとわからないですよね...
そんな時は、namesで変更できます。namesの後にはベクトルでそれぞれのサンプルの名前を定義しておきます。
文字列なのでダブルコーテーションで囲っておくのを忘れずに
左から並べる順番に定義していくので、間違えないように注意が必要かも。
names=c("placebo","treated")
あと、気になるのはY軸が0から始まっていないこと...
これもylimで設定できます。namesと同じようにベクトルを使って数値を指定します。ylim=c(0,10)みたいな感じで。
ylim=c(0,8)
最後に、Y軸のラベルをつけてみます。ylabでつけられます。
ylab=""expression level"
これを、"boxplot()"に全部羅列で打ち込むだけ。
こんな感じ、
> boxplot(placebo,xtreat,names=c("placebo","treated"),ylab="expression level",ylim=c(0,8))
すると、
こんな感じのグラフになりました。
プラセボよりも薬剤X投与群の方がタンパク質Aの発現がエラーバーも含めて高そうなことがわかりました。
グラフの色を変えたり、スターをつけたりすることができるみたいです。
スターをつけるのは検定ができるようになってからにしようと思います。
グラフの保存方法
plotの画面の上、exportからSave as image..., Save as PDF..., Copy to Clipboadを選択できます。
Save as imageを選ぶと、
こんな画面が出てくるので、File format(デフォルトはPNG)と保存場所、ファイル名を指定して保存できます。
今回は、箱ひげグラフがかけるようになりました。
次は、二つのデータを検定して比較してみようと思います。
それでは、また!
最後までお読みいただきありがとうございます。よろしければ「スキ」していただけると嬉しいです。 いただいたサポートはNGS解析をするための個人用Macを買うのに使いたいと思います。これからもRの勉強過程やワーママ研究者目線のリアルな現実を発信していきます。