k010 appstat201201
TRANSCRIPT
1
情報統計学
ガイダンスRの基礎
ガイダンス• 講師紹介
岡山大学 環境学研究科 教授 垂水 共之(たるみ ともゆき) e-mail [email protected]
• 授業の概要 統計学入門 統計ソフトウェア R を利用したシミュレーション実験を通して,データ解析の実際に触れるとともに,統計理論を確かめる
• データ解析に触れる• 統計理論を確かめる
2
3ガイダンス• 注意事項
目の前に PCがあるが,理論の説明も多い。板書しているときは, PCに触れずに説明を聞くこと。
• テキスト 垂水・飯塚著「 R/S-PLUSによる統計解析入門」共立出版 , 2500円
• 参考図書 Rによるやさしい統計学 山田 剛史 杉澤 武俊 村井 潤一郎 共著 オーム社
岡田昌史編 (2004)「 The R Book―データ解析環境 Rの活用事例集」,九天社 .
舟尾暢男編 (2005)「 The R Tips―データ解析環境 Rの基本技・グラフィックス活用集」,九天社 .
その他, R, Sに関する本や統計学に関する本
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
Rのインストール (Windowの場合 )
• ダウンロード http://cran.md.tsukuba.ac.jp/bin/windows/base/ CRAN mirror Download R 2.1 5.0 for Windows (?? megabytes) 右のウィンドウが表示されたら「実行」を
この警告にも「実行する」を
以後テキスト170頁を参照のこと
5
6準備
• 講義の準備 マイドキュメント に appstatというフォルダを作成しよう
•この講義の内容はこのフォルダで作業を行うRのアイコン(ショートカットの修正)
• Rのアイコンを右クリック•「プロパティ」を選択•作業フォルダを
“ c:\Documents and Settings\t2\My Documents"
を “ c:\Documents and Settings\t2\My Documents\appstat“に変更して「 Ok」を押す
7起動,終了
• Rの起動 Rのアイコンをダブルクリック
• Rの終了 (quit)> q()
終了の場合は,ワークスペースのイメージを保存するかどうか聞いてくる
起動している間作った変数,関数などを保存したければ
yただ単に電卓として,または確認として使っただけで保存までしたくない場合は
n
8demo
• Rはグラフィックが非常に優れています。 お手軽に統計グラフが作成できます。
• これからの資料で,コマンドの先頭に>が入ることがありますが,これはプロンプトを意味しています。タイプする必要はありません。
• デモの実行>demo()たとえば,
• >demo(graphics)
9電卓として利用
• 電卓としても使える + - * / 2 乗,3乗は x^2, x^3ルートは
• sqrt(2)など
• ()などもつかえる ルールは通常の計算と同じ
• ()優先
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)
をやってみよう
11ベクトル計算• ベクトル
ベクトルを作る基本的な関数は c( ) x <- c(10,12,14,15,15) xには何が入っているか。 xと入力してエンターを押し確認してみよう。
• ベクトルの長さ length(x)
• 合計をだしたかったら sum(x)
• xの2乗を計算してみよう x^2 と入力する
• xの2乗の和を計算してみよう
関数型言語関数名 (引数のリスト )関数名 () 引数が無くても括弧は必要
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* では要素同士の掛け算になる
• 逆行列は solve(X)
X% %solve(X)* を計算してみて単位行列になっていることを確かめよう。
• 行列式 determinant det(X)
• 転置行列 transpose t(X)
• ここで一度終了してみよう。終了の仕方は?
13
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/
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
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
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
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]
19実行結果のファイル出力• 以下の画面に出る表示 (グラフを除く )をファイルへ出力
>sink(“ ”ファイル名 )> ・・・ 画面には何も表示されない>sink()
> sink("result.txt")> height> mean(height)> max(height)> sink()
result.txtの中身を確認しよう
20データの保存,保存したデータ・関数の読み込み• 既定義変数の保存
workspaceを名前をつけて保存する。 save.image(“ ”ファイル名 ) save.image(“intro.Rdata”)
• 保存したデータ,関数の読み込み load("intro.RData") ls()
• なにも指定せず保存した場合,(たとえば, q()でyとした とき) .RDataというファイルに保存されます。
• 次回起動時は,何も指定がなければそのディレクトリにあ.Rdataを読み込みます。なければ何も入ってない状態になります。
21ベクトル計算
• 演習 xの2乗の和を計算してみよう x+xはどういう値になっているか
x <- c(10,12,14,15,15)y <- c(1, 2, 3, 4, 5)
• としたときに x+yがどのような値になっているか。
22
グラフ出力, texへの取り込み
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を起動して確認しよう。