prepress-tips
R言語のメモ
最終更新:
prepress-tips
-
view
最終更新日時: 2009/05/17
サンプル: 月別推移図の作成
- 推移データ.txt から graph01.png を作成するサンプル。
- ソースは codeLayouter用に記述。
※ 詳細は 構造と処理を別の言語で書いて組合せる 5 を参照のこと。
作成する図 ( graph01.png )
参考: perlで
- 参考のため perl GDGraph で同様の図を描くサンプルも作ってみた。
作成する図 ( graph02.png )
※ 実際に試してみるときは、
スクリプト中の 全角の < を すべて半角に置換してください( 2箇所 )。
スクリプト中の 全角の < を すべて半角に置換してください( 2箇所 )。
作図
- 参考にした解説頁
R の備忘録頁 ‥ ここの説明が 一番わかりやすかった。
RjpWiki - 関連する概念
デバイス
デバイス領域
作図領域
プロット領域
データフレーム - R AnalyticFlow ( 使ったRは ver.2.6.1 ) で試す。
JavaGDデバイスが 最初から1つオープンしている。
R console に コマンドを入力して試す。 - Rの作業フォルダ
getwd() Rの作業フォルダを確認 setwd( "作業フォルダ名" ) Rの作業フォルダを指定 RAnalyticFlowのメニュー でも変更できる。
- 簡単な作図
plot( 1:3, 1:3 ) plot( 0:9, 2:11 ) plot( 0:9, 2:11, type = "l" )
- デバイス
help( "Devices" ) ヘルプファイル中のデバイス一覧を表示 windows - on screen, to printer, to Windows metafile postscript file pdf file pictex file png, jpeg, bmp xfig bitmap ( via GhostScript ) help( "dev.cur" ) ヘルプファイル中の該当コマンドを表示
- 描画
dev.list() オープン中のデバイス一覧を表示( 名前と番号 ) dev.cur() アクティブなデバイスを表示( 名前と番号 ) dev.set( 番号 ) アクティブなデバイスを指定 dev.off( 番号 ) デバイスのクローズ png( "ファイル名.png" ) pngファイルのオープン win.metafile( "ファイル名.emf" ) Windowsメタファイルのオープン dev.copy( png, file = "ファイル名" ) アクティブなデバイスをコピーして pngファイルをオープン
- データファイルの形式
name height weight A 158 51 B 162 55 C 177 72 D 173 57
- データファイルの読み込み
x <- read.table( "ファイル名", header = T ) x は データフレーム read.table のラッパーもある( read.cvs など )。 オプション skip = 行数 先頭の読飛し( デフォルト なし ) header = T 先頭行が列名( デフォルト V1 V2 ‥ ) row.names = 列番号 指定列が行名( デフォルト 1 2 3 ‥ ) nrows = 行数 ( デフォルト 最後まで ) comment.char = "文字" 注釈行の先頭の文字( デフォルト # ) sep = "区切り文字" 区切り文字は 1文字 空行は読飛し( デフォルト )
- データフレーム
ベクトルから作るとき data.frame( 列名 = ベクトル, ・・・ ) 行列から作るとき data.frame( 行列 ) 列 x[ 列 ] x[ "列名" ] x[[ 列 ]] x[[ "列名" ]] x$列名 x[ c( 列, ・・・ ) ] x[ , c( 列, ・・・ ) ] x[ c( T, F,・・・ ) ] x[ , c( T, F,・・・ ) ] TRUEの列のみ( TFは列数分指定する ) セル x[ 行, 列] x[[ 行, 列]] x[ 行, "列名" ] x[[ 行, "列名" ]] 行 x[ 行, ] x[ c( 行, ・・・ ) , ] 行順が変わる x[ c( T, F,・・・ ) , ] TRUEの行のみ( TFは行数分指定する ) x[ x$列名 の条件式 , ] 指定条件がTRUEの行のみ 条件に & | が使える
- plot
パラメータの指定 永続的 par( パラメータ = 値, ・・・ ) 一時的 plot( データ, パラメータ = 値, ・・・ ) 確認 par() par( "パラメータ", ・・・ ) ヘルプ help( "par" )
領域 1インチ = 96 units ? 作図対象 par( "xpd" ) 描画領域 TRUE プロット領域 FALSE デバイス領域 NA 変更は不可? デバイス領域 par( "din" ) parでは変更不可 描画領域 par( "fin" ) インチ単位 par( "fig" ) x軸 y軸 で 両端の位置の比率 余白 par( "mai" ) 下・左・上・右の順 インチ単位 par( "mar" ) mex単位 外周 par( "omi" ) 下・左・上・右の順 インチ単位 par( "oma" ) mex単位 par( "omd" ) x軸 y軸 で 両端の位置の比率 プロット領域 par( "pin" ) インチ単位 par( "plt" ) x軸 y軸 で 両端の位置の比率 形 par( "pty" ) 正方形 "s" 長方形 "m"
色・文字 色 par( "col" ) 色番号 "色名" colors()で確認可 "\#FFFFFF" rgb( r, g, b ) hsv( h, s, v ) gray( g ) rainbow( n ) nは任意 他に heat.colors(n) cm.colors(n) topo.colors(n) terrain.colors(n) par( "gamma" ) ガンマ補正 マーカー par( "pch" ) 文字の大きさ par( "ps" ) フォント par( "font" ) 位置揃え par( "adj" ) 左・中央・右揃え( 1, 0.5, 1 ) c( x, y ) で軸ごとの揃え .axis .lab .main .sub で それぞれの指定