読者です 読者をやめる 読者になる 読者になる

R言語による電子カルテデータの二次利用

~R言語初心者がデータ処理を楽しめるように基本的内容中心のサイトです~

グラフの作成

基本グラフィックス

まずはいつものirisデータで。

一次元のデータから

iris$Sepal.Length   # irisデータのSepal.Length列を見るという意味

f:id:r_beginner:20160217172845j:plain
これをグラフにしてみます。

hist(iris$Sepal.Length) # histはヒストグラム

f:id:r_beginner:20160217173137j:plain

箱ひげ図

boxplot(iris$Sepal.Length)

f:id:r_beginner:20160217173834j:plain

つぎは二次元データ。y軸とx軸を~(チルダ)で繋いでモデル式っぽく書く。

plot(Sepal.Length~Sepal.Width,data=iris)  # plot(y軸~x軸、data=データフレーム)という記法です。

f:id:r_beginner:20160217174338j:plain

ggplot2

R言語では定番のグラフ作成パッケージです。
基本的なことは参考サイトのcheat sheet載っています。非常によくまとまっていて下手な本を買うより、これを写経するだけでもかなり理解が深まります。

先ほどと同じような流れで作図してみます。
一次元データのggplotでの作図は、ggplot()の中にまずデータフレーム、そしてaes()内に列名を書きます。これに+グラフの種類(geom_~)を加えて描画します。

ggplot(iris,aes(Sepal.Length)) +
  geom_histogram(binwidth = 0.5)

f:id:r_beginner:20160217190843j:plain
つぎは箱ひげ図です。ボックスプロットは少し癖があって、aes()内に列名とx=1も必要となります。

ggplot(iris,aes(Sepal.Length,x=1)) +
  geom_boxplot()

f:id:r_beginner:20160217191238j:plain
irisの種類ごとに作図するには、x=Speciesを指定します。

ggplot(iris,aes(Sepal.Length,x=Species)) +
  geom_boxplot()

f:id:r_beginner:20160217191538j:plain

次は二次元データ。aes()内は、x軸、y軸の順番です。

ggplot(iris,aes(Sepal.Width,Sepal.Length)) +
  geom_point()

f:id:r_beginner:20160217192620j:plain

plotly

インタラクティブなグラフを書くパッケージです。
まずインストール

install.packages("plotly")

同じく一次元データから作図します。plot_ly()の中にまずデータフレーム、x=列名、type="グラフ種類"の記載法です。

library(plotly)
plot_ly(iris,x=Sepal.Length, type="histogram")

f:id:r_beginner:20160217201622j:plain
次は箱ひげ図です。

plot_ly(iris, x = Sepal.Length, type = "box")

f:id:r_beginner:20160217201926j:plain
種類ごとに色分け

plot_ly(iris, x = Sepal.Length, color = Species, type = "box")

f:id:r_beginner:20160217202014j:plain

次は二次元データ。plotly()内は、データフレーム、x=x軸名、y=y軸名、mode="markers"の記載法です。ggplotとも似た感じですかね。

plot_ly(iris, x = Sepal.Width, y = Sepal.Length,mode = "markers")

f:id:r_beginner:20160217203415j:plain


実際のインタラクティブなグラフは↓
RPubs - plotly_sample

スライドに埋め込むと、きっとインパクトありますね。


参考