k010 appstat201201

23
1 情報統計学 ガイダンス R の基礎

Upload: t2tarumi

Post on 05-Jul-2015

151 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: K010 appstat201201

1

情報統計学

ガイダンスRの基礎

Page 2: K010 appstat201201

ガイダンス• 講師紹介

岡山大学 環境学研究科 教授  垂水 共之(たるみ ともゆき)   e-mail  [email protected]

• 授業の概要 統計学入門 統計ソフトウェア R を利用したシミュレーション実験を通して,データ解析の実際に触れるとともに,統計理論を確かめる

• データ解析に触れる• 統計理論を確かめる

2

Page 3: K010 appstat201201

3ガイダンス• 注意事項

目の前に PCがあるが,理論の説明も多い。板書しているときは, PCに触れずに説明を聞くこと。

• テキスト 垂水・飯塚著「 R/S-PLUSによる統計解析入門」共立出版 , 2500円

• 参考図書 Rによるやさしい統計学  山田 剛史 杉澤 武俊 村井 潤一郎 共著 オーム社

岡田昌史編 (2004)「 The R Book―データ解析環境 Rの活用事例集」,九天社 .

舟尾暢男編 (2005)「 The R Tips―データ解析環境 Rの基本技・グラフィックス活用集」,九天社 .

その他, R, Sに関する本や統計学に関する本

Page 4: K010 appstat201201

4講義の内容• 統計用 S言語

S,  S-PLUS 商用ソフトウェア R フリーソフトウェア

• Web RjpWiki     http://www.okada.jp.org/RWiki/ R 配布元    http://www.r-project.org/

• 講義サポートページ http://webclass.el.okayama-u.ac.jp/

• ID 大学付与・パスワードでアクセス• 登録キー Rstat2012

• 参考ページ http://case.f7.ems.okayama-u.ac.jp

Page 5: K010 appstat201201

Rのインストール (Windowの場合 )

• ダウンロード http://cran.md.tsukuba.ac.jp/bin/windows/base/    CRAN mirror Download R 2.1 5.0 for Windows (?? megabytes) 右のウィンドウが表示されたら「実行」を

この警告にも「実行する」を

以後テキスト170頁を参照のこと

5

Page 6: K010 appstat201201

6準備

• 講義の準備 マイドキュメント に appstatというフォルダを作成しよう

•この講義の内容はこのフォルダで作業を行うRのアイコン(ショートカットの修正)

• Rのアイコンを右クリック•「プロパティ」を選択•作業フォルダを

“ c:\Documents and Settings\t2\My Documents"

を “ c:\Documents and Settings\t2\My Documents\appstat“に変更して「 Ok」を押す

Page 7: K010 appstat201201

7起動,終了

• Rの起動 Rのアイコンをダブルクリック

• Rの終了 (quit)> q()

終了の場合は,ワークスペースのイメージを保存するかどうか聞いてくる

起動している間作った変数,関数などを保存したければ

yただ単に電卓として,または確認として使っただけで保存までしたくない場合は

n

Page 8: K010 appstat201201

8demo

• Rはグラフィックが非常に優れています。 お手軽に統計グラフが作成できます。

• これからの資料で,コマンドの先頭に>が入ることがありますが,これはプロンプトを意味しています。タイプする必要はありません。

• デモの実行>demo()たとえば,

• >demo(graphics)

Page 9: K010 appstat201201

9電卓として利用

• 電卓としても使える + - * / 2 乗,3乗は x^2, x^3ルートは

• sqrt(2)など

• ()などもつかえる ルールは通常の計算と同じ

• ()優先

Page 10: K010 appstat201201

10代入• xに 10を代入する

x <- 10xに何がはいっているか確認するときはxとだけ入力しよう。

• その後,x <- x+1をしたらどうなるか考えてみよう

• 次の計算をしようy <- 10x <- 20y+x, y*x, y-x, y/x, x^2, x^3, sqrt(x), log(x)

をやってみよう

Page 11: K010 appstat201201

11ベクトル計算• ベクトル

ベクトルを作る基本的な関数は  c( ) x <- c(10,12,14,15,15) xには何が入っているか。 xと入力してエンターを押し確認してみよう。

• ベクトルの長さ length(x)

• 合計をだしたかったら sum(x)

• xの2乗を計算してみよう x^2 と入力する

• xの2乗の和を計算してみよう

関数型言語関数名 (引数のリスト )関数名 () 引数が無くても括弧は必要

Page 12: K010 appstat201201

12行列演算

• > X<-matrix(c(1,2,3,4),2,2)• > X• とすれば,行列が作られる .大文字と小文字は区別されていることに注意。

• X 2^ としたときどういう値が返されるか確認しよう

• Y<-matrix(c(4,5,6,1),2,2)としたとき X+Y, X-Y, X Y, X/Y* を確認しよう

• XYを計算したい時は X% %Y* X Y* では要素同士の掛け算になる

Page 13: K010 appstat201201

• 逆行列は solve(X)

X% %solve(X)* を計算してみて単位行列になっていることを確かめよう。

• 行列式 determinant det(X)

• 転置行列 transpose t(X)

• ここで一度終了してみよう。終了の仕方は?

13

Page 14: K010 appstat201201

14

• データの準備> height <- c(148, 160, 159, 153, 151, 140, 156, 137, 149, 160, 151, 157, 157,

144)

• 確認 ls()

• 複製 height2<-height

• 削除 rm(height2)削除されているかどうか確認しよう!練習で, height以外に残っているものを全部削除しよう。

http://mikawaya.to/pukiwiki/

Page 15: K010 appstat201201

15データの修正

• 最後に追加> x <- c(23, 22, 52, 13, 4)> x[1] 23 22 52 13 4> newx <- c(x, c(10, 11, 12, 13))> newx[1] 23 22 52 13 4 10 11 12 13> newxx <- append(x, c(10, 11, 12, 13))> newxx[1] 23 22 52 13 4 10 11 12 13

Page 16: K010 appstat201201

16途中に追加

> x <- c(1, 2, 3, 4, 5)> x[1] 1 2 3 4 5> newx <- c(x[1:2], c(10, 11, 12, 13), x[3:length(x)])> newx[1] 1 2 10 11 12 13 3 4 5> newxx <-append(x, c(10, 11, 12, 13), after = 2)> newxx[1] 1 2 10 11 12 13 3 4 5

Page 17: K010 appstat201201

17削除,置換修正

• m 番目のデータを削除> x <- c(3, 3, 2, 3, 3)> x[1] 3 3 2 3 3> newx <- x[-3] #xの 3番目の値である 2を削除し, newxに代入

> newx[1] 3 3 3 3

• m番目のデータの値を zに変更> x <- 1:5> x[1] 1 2 3 4 5> x[3] <- 100> x[1] 1 2 100 4 5

Page 18: K010 appstat201201

18要素の抽出

• ベクトルの場合 x<-c(10,12,14,15,15) xの2番目の値を見たい

• x[2]• で要素を取り出せる

• 行列の場合 x<- matrix(c(1,2,3,4),2,2) xの2行1列目を見たい

• x[2, 1]• で要素をとりだせる

2行目全部をとりだしたいときは• x[2, ]

同様に2列目• x[, 2]

• xの3番目の値を yに代入したかったら y <- x[3]

Page 19: K010 appstat201201

19実行結果のファイル出力• 以下の画面に出る表示 (グラフを除く )をファイルへ出力

>sink(“ ”ファイル名 )> ・・・ 画面には何も表示されない>sink()

> sink("result.txt")> height> mean(height)> max(height)> sink()

result.txtの中身を確認しよう

Page 20: K010 appstat201201

20データの保存,保存したデータ・関数の読み込み• 既定義変数の保存

workspaceを名前をつけて保存する。 save.image(“ ”ファイル名 ) save.image(“intro.Rdata”)

• 保存したデータ,関数の読み込み load("intro.RData") ls()

• なにも指定せず保存した場合,(たとえば, q()でyとした とき) .RDataというファイルに保存されます。

• 次回起動時は,何も指定がなければそのディレクトリにあ.Rdataを読み込みます。なければ何も入ってない状態になります。

Page 21: K010 appstat201201

21ベクトル計算

• 演習 xの2乗の和を計算してみよう x+xはどういう値になっているか

x <- c(10,12,14,15,15)y <- c(1, 2, 3, 4, 5)

• としたときに x+yがどのような値になっているか。

Page 22: K010 appstat201201

22

グラフ出力, texへの取り込み

Page 23: K010 appstat201201

23出力デバイス

• TeXに取り込みやすい PSファイルで出力するには 2Fの実習室の場合は postscript(“***.eps", horizontal = FALSE, onefile = FALSE, paper =

"special", height = 9, width = 9, family=“Courier”) ) plot(height, weight) dev.off()

• Windowsの場合,Windowsを起動して確認しよう。