トップページ -> 研究道具箱と教材 -> プログラミング言語 R を用いたグラフ描画 -> R のグラフ作成
[サイトマップへ]  

R のグラフ作成

この Web ページでは,R でのグラフ作成について, 次のことを行う手順を図解で説明します.


前準備

必要となるソフトウエア


CSVファイルを読み込み,データテーブルに格納

  1. (前準備) 使用する CSV ファイルの作成

    ※ ここでは Book1.csv をダウンロードし,分かりやすいディレクトリに置く

    (参考: 「外国為替データ(時系列データ)の情報源の紹介」の Web ページ

    以下の説明では、

    として説明を続けます.

    自前の CSV ファイルを使うときの注意: read.table() 関数を使うので, 属性名は英語になっていること.属性名は,CSV ファイルの第一行目に書いていること.

  2. 使用する CSV ファイルの確認

    属性名が CSV ファイルの1行目に書かれていることを確認する.

  3. R の起動

    ◆ Windows での動作画面例

    ◆ Ubuntu での動作画面例

  4. read.table」を用いて,ファイルを変数に読み込み

    次のコマンドを実行

    ◆ Windows での動作手順例

    X <- read.table("/tmp/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE);
    

    ◆ Linux での動作手順例

    X <- read.table("/tmp/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE);
    

    オプション

  5. 変数 X の中身の確認

    次のコマンドを実行。

    edit(X);
    

    次のコマンドを実行。

    str(X)
    


データテーブルからのグラフ作成例

  1. x, y 値を指定しての散布図の作成

    x 値を格納したベクトル,y 値を格納したベクトルを引数として plot() 関数を使うと,散布図が描かれます.

    この場合「X[,c("属性名")]」という書き方で,X から列を抜き出して,ベクトルを作ります.

    plot( X[,c("seq")], X[,c("USD")] )
    

    plot( X[,c("USD")], X[,c("EUR")] )
    


重ね書きの例

points() 関数や line() 関数 や legend() 関数や text() 関数を使って,簡単に重ね書きできます.例を示しておきます. 次のような感じになります(文法の詳細には立ち入りません).

線の重ね書き

lines() 関数は,線を重ね書きするもの.

plot( X[,c("seq")], X[,c("USD")] )
lines(lowess( X[,c("seq")], X[,c("USD")] ), col = "red")
lines(lowess( X[,c("seq")], X[,c("USD")], f=0.2 ), col = "green")

平滑化の関数は,他にも,smooth.spline(), ksmooth(), supsmu() などが知られている.

複数のグラフの重ね描き

「par(new=T)」によりグラフの重ね書きを指示

plot( X[,c("seq")], X[,c("USD")] )
par(new = T) 
plot( X[,c("seq")], X[,c("EUR")], pch=0, col=2 )

凡例の重ね書き

legend() 関数では,次を指定する.

参考 Web ページ: グラフィックス参考実例集:凡例 (http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%BB%B2%B9%CD%BC%C2%CE%E3%BD%B8%A1%A7%CB%DE%CE%E3)

plot( X[,c("seq")], X[,c("USD")] )
lines(lowess( X[,c("seq")], X[,c("USD")] ), col = "red")
lines(lowess( X[,c("seq")], X[,c("USD")], f=0.2 ), col = "green")
legend( 5, 105, c( "f = 2/3", "f = 0.2" ), lty = 1, col = c("red", "green") )

テキストを書くこともできます.

text(locator(1), labels = "ほげほげ")

グラフのファイルへの保存

グラフィカル・デバイスの種類

など.

詳細は「help(Devices)」で確認できる

グラフィカル・デバイスを用いたグラフのファイルの保存

例えば,PDF ファイルを作りたいときは,最初に「pdf()」を実行.最後に「dev.off()」で,ファイルを閉じる. すると,作業ディレクトリにファイルができる.作業ディレクトリは,getwd() で分かる.

※ pdf( file="C:\1.png" ) のように,ファイル名を陽に指定する方が分かりやすいでしょう.

◆ Windows での実行手順例 (png ファイルを作成している)

X <- read.table("C:/R/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE);
png("1.png")
plot( X[,c("seq")], X[,c("USD")] )
dev.off() 
getwd()

◆ Ubuntu での実行手順例 (png ファイルを作成している)

X <- read.table("/tmp/Book1.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE);
png("1.png")
plot( X[,c("seq")], X[,c("USD")] )
dev.off() 
getwd()


R コマンダーを用いた散布図の作成手順例

グラフの作成には R コマンダーが便利です

  1. R の起動

    ◆ Windows での動作画面例

    ◆ Ubuntu での動作画面例

  2. Rcmdr の読み込み
    library(Rcmdr)
    
    ※ このときエラーが出た場合には, 「install.packages("Rcmdr")」で インストール操作を行うと解決する場合がある

  3. しばらく待つと、Rコマンダーのウィンドウが開く

  4. Rコマンダーで「データ」 → 「データのインポート」と操作する → 「テキストファイルまたはクリップボード,URLから」と操作する

  5. データ名、ヘッダーの有無、区切り記号を指定

  6. 読み込みたいファイルのディレクトリとファイル名を指定

  7. いま読み込んだファイルのデータ名を選択

  8. データセットを表示したい場合には、「データセットを表示」をクリックする

  9. 散布図を作成したい場合は、 「グラフ」→「散布図」と操作する

  10. x軸, y軸などの設定を行い 「OK」をクリックすると、散布図が得られる.

  11. R のプログラムが作成される.これを記録しておけば、将来、同じ操作を繰り返したくなった時に楽。