R 使い方 散布図 グラフの描き方
バイオインフォ道場、くまぞうです。
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。Rを使って、色んなグラフを描画してみましょう。今回は、「散布図」です。
目次
散布図
特長
散布図は、2つの異なる変数を連結し、それら変数の関係性を示します。グラフ上の各点はxy一組の値です。一方が横軸またはx軸に示され、他方が縦軸またはy軸に示されます。演算子「~(チルダ)」を使ってモデル式を与えます。
グラフの描き方
組み込みデータセットの「iris」を使用します。Rでグラフを描くときは、plotを使います。「Sepal.LengthとPetal.Lengthの関係性」をみたいので、モデル式「Sepal.Length ~ Petal.Length」を与えて散布図を描画します。
> str(iris) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 ... > png("plot1.png") > plot(Sepal.Length ~ Petal.Length, pch=as.numeric(Species), data=iris) > dev.off() > png("plot2.png") > plot(Sepal.Length ~ Petal.Length, pch=as.numeric(Species), data=data_iris, col = ifelse((Sepal.Length/Petal.Length>1.5), "red", "black")) > dev.off()
グラフの例
plot1
plot2
グラフ描画について
組込みデータ「iris」をグラフ表示しました。plotに、モデル式「Sepal.Length ~ Petal.Length」を与えて散布図を描画します。水準が”setosa”,”versicolor”,”virginica”の3つ存在するので、plotのオプション「pch」に水準別のマークを指定しました。plot2では、xyの関係性に条件を与え、条件を満たすものと満たさないもので色分けを行いました。