天地有情

統計解析ツール「R」事始め

統計解析ツール「R」事始め

概要:
R (または R言語) はオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及び
その開発実行環境です.

R言語はニュージーランドのオークランド大学のRoss IhakaとRobert Clifford Gentlemanにより作られた.
現在ではR Development Core Team(S言語開発者であるJohn M. Chambersも参画している.)により
メンテナンスと拡張がなされています.

§1.入手とインストール
*R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html のセットアップの項を参照
または
(Windowsユーザーのための R/Tinn-R)
http://blue.zero.jp/yokumura/intro2R.html

を参照してください.
現時点での最新バージョンは次の通りです.

*R: Version 3.0.1
*Tinn-R: Version 2.4.1.7
R専用エディタであるが必須ではない.使い慣れたエディタを使えばよいです.

また,以下のようなR の統合開発環境も用意されています.

*R-Studio IDE:Version 0.97
http://rstudio.org/

§2.特徴
R言語 はベクトル処理言語です.
R-wikipediaでは次のように述べられています.

■R言語は,「ベクトル処理」と呼ばれる実行機構により,柔軟な処理を簡便な記法で実現する.
R言語で言う「ベクトル」とは数学的用語のベクトルとはやや異なり「構造を持ったデータ集合」という「リスト」
に近い意味をもちます.
数学的ベクトル・行列のみならず,配列・リスト・テーブル(データフレーム)・集合・時系列などといった複雑な
構造を持ったデータも宣言無く変数に納められます.

■ベクトルは複数の要素を持ち得るが,例えば,リストの要素が更にテーブルや時系列の配列などであるといった
「入れ子構造」であってよい.このおかげで複雑なデータ構造が他愛もなく構築・管理できます.

■予約語としてRに組込まれた演算も関数もベクトルを扱える.ユーザー定義関数をベクトル対応にするための
関数もあります.

■ベクトル処理に拠って演算も関数も特別な制御を要さずベクトルの全要素に作用するため,
プログラム全体の制御構造が単純化して意味が明瞭になるという効用が期待できます.

重要:
R言語を初めて使われる方々は,次のサイトを参考にしてください.
平易かつ丁寧に説明されています.

R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html

上記内容をpdfにしたものがこちら.
統計解析フリーソフト R の備忘録 PDF
http://cse.naro.affrc.go.jp/takezawa/r-tips.pdf


§3.どのようなことが出来るのでしょうか?

*次のような演算処理や統計解析および描画などが出来ます.
    ・ベクトル
    ・行列・配列・リスト
    ・関数(予約関数,ユーザ定義関数)
    ・プログラミング(if,for,while,repeatなど)
    ・数値演算
    ・データフレーム(テーブルの作成,読み込み)
    ・グラフィックス
    ・統計解析

§4.Potato Tips (チョットした情報)
 *コメント記号はシャープ #
 *変数名は大文字と小文字で区別される
 *変数名の削除は rm() コマンドで行う
 *代入記号
     次の4種類が用意されています.
     ・x <- 100      通常,利用される
     ・100 -> x
     ・assign("x",100)
     ・x=100       非推奨
 *作業ディレクトリ
     ・setwd("c:/temp")  dir変更
     ・getwd        カレントdir確認
 *関数について調べるときは ?関数名  を入力する.あるいは help(関数名) 
 * ??文字列 でその文字が含まれている関数やパッケージが検索される
 *特定のパッケージの中の関数について調べる
      help(関数名, package="パッケージ名")
 *式中の空白は無視される
 *式と式の間をセミコロン”;”で区切ると,複数の式を1行にまとめて書ける
 *式の入力を途中で止めるときは,Escを押す
 *代入の式を丸カッコで囲むと,代入と表示が同時に行われる. e.g. (x <- 10)
 *Rのパッケージを使う
      install.packages("")でインストール
      library()で使えるようになる
      R本体がアップデートされた場合,パッケージはインストールしなおす必要がある

 *ファイル名は .r で終わるようにし, もちろん, 意味のある名前にする

 *デモの見方
     demo() と打つと,デモ可能な一覧が出てきます.demo(graphics) などとする
 *コンソール画面をクリアにすには [Ctrl + L] で行える

§5.始動と終了

*始動操作
次の3つの方法のいずれかで起動させます.
(1)デスクトップにあるアイコン[R]をクリックする.
(2)スタートメニューのプログラムから R 3.0.1を選択する.
(3)インストール先の x:\R-3.0.1\bin\i386\Rgui.exe をクリックする.

初期起動画面を示します.

r01.png


(注)画面冒頭のメッセージは通常は日本語で表示されるはずですが Windows7 にインストールした
   バージョン3.0.1は英語になっていました.

コンソール画面の” >” (入力促進記号:プロンプトと言います)の後ろに式を入力します.
5+8=13
sqrt(5)=2.236068
を計算してみました.

r02.png


R では実数,複素数,文字列,論理数などの基本的データを一つずつ単独で扱う代わりに,
同じ型のデータをいくつかまとめたベクトルと呼ばれる形で取り扱っています.

よって,例では数値や文字列を一つずつ単独で扱っているかのように説明してきましたが,
実際には R はこれらの基本的データを,要素の個数が一つだけのベクトルとして扱っていたわけです.

例えば,以下の計算は要素が一つのベクトル同士の足し算を行っていることになります.上の例では
5 + 8 だから単に 13 と返せばよいだけのはずだが,よく見ると [1] が前についています.
これは 1×1 のベクトル (5) と 1×1 のベクトル (8) の足し算を行って,結果として 1×1 のベクトル (13)
が返ってきたことになる.[1] は『ベクトルの一つ目の要素』という意味です.

*終了操作
次の4つの方法のいずれかで終了させます.
(1)> quit()
(2)> q()
(3)画面右上のクロスマーク[X]をクリックする
(4)メニュー[File]--[Exit]を選択する

すると[Save workspace image?]→ [いいえ]を選択して終了します.

r03.png



(注)作業スペースというのは,Rを起動してから終了するまでに行った計算式全体の保存のことですが,
   後述のエディタにスクリプト(計算式)を書き,ファイル名を xxx.r として,それを保存します..

§6.R と エディタの連携

R を起動して [File]--[New script]を選択すると『R Editor』が開きます.

r04.png


ここに一行ずつ(一つの命令を複数行に分けて書いても可)命令を書き込んでいきます.

r05.png


コンソールと異なりRエディタでは入力しただけでは命令は実行されません.
入力した動作をコンソールへ送信する方法は2種類あります.

1.[F5キー]: Rエディタ上でカーソルが今存在している1行のみが送信されます.送信後,カーソルは次の行へ移ります.
2.範囲を指定して[F5キー]: 選択している範囲の命令が送信されます.

[F5キー]の代わりに[Ctrlキー]+[R]でも同様です.全選択のショートカット([Ctrlキー]+[A])と組み合わせ,
[Ctrlキー]を押したまま[A]→[R]

と操作すると楽に全ての命令をコンソールへ送信することができます.

このように,エディタから送信した場合でもコンソールへ直接入力したのと同様に1行1行命令は解釈され,
実行されます.

(注意)[Edit]--[GUI preferences...]を開くと『Rgui Configuration Editor』でコンソールの環境を
     調整できます.ウインドウ構成は
     シングル ドキュメント インターフェイス (SDI) とマルチドキュメント インターフェイスの両方 (MDI)
     のいずれかを選択できます.上図は SDI を選択したものです.
     MDI を選択すると,マウス操作あるいはアイコンでコンソールへ送信操作できますが割愛します.


§7.グラフ表示を試みる

R Editor を起動させ,次の式を記述します.

=====================================
sin_curve <- function(x){sin(pi*x)/(pi*x)}
plot(sin_curve,-10,10)
dev.copy(pdf, file="sample.pdf")
dev.off()
=====================================

1行目:ユーザ定義関数 sin_curve をfunction命令で定義.
2行目:plot関数で sin_curve を -10[rad]~10[rad]の範囲で描画を指定.
3行目:dev.copy命令で sample.pdf を出力.
4行目:必要な出力がすべて終ったらすぐにデバイスを閉じる.


上記の4行を選択(ハイライト:マウスで黒染)後,[F5]キーを押して R コンソール に送信します.

r06.png


同時に,sin_curve のグラフが表示されます.

r07.png


R がサポートしている作図デバイスを呼び出す関数は help("Devices") で調べることが出来ますが,
代表的なデバイス関数には以下のようなものがあります.

bmp, pdf, png, jpg, ps(eps)

ここで得られたグラフ画像は Word や LaTeX などの文書に貼り付けることができます.

スポンサーサイト
  1. 2013/09/07(土) 11:53:44|
  2. 便利ツール
  3. | トラックバック:0
  4. | コメント:0
<<PNG画像を生成する2つのコマンドの使い方 ー備忘録ー | ホーム | Prolog入門 ~初歩の初歩~ >>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://konoyonohana.blog.fc2.com/tb.php/38-4b5d85d0
この記事にトラックバックする(FC2ブログユーザー)