prepress-tips
メニュー

更新履歴

取得中です。


R言語のメモ


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

最終更新日時: 2009/05/17    

サンプル: 月別推移図の作成


作成する図 ( graph01.png )

参考: perlで

  • 参考のため perl GDGraph で同様の図を描くサンプルも作ってみた。
作成する図 ( graph02.png )
        ※ 実際に試してみるときは、
            スクリプト中の 全角の < を すべて半角に置換してください( 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 で それぞれの指定