91
R の基本操作 とにかく実行するのだ編阪上 辰也@名古屋大学 Nagoya.R #1 2010-03-26 Saturday, March 27, 2010

Nagoya.R #1 Part 1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Nagoya.R #1 Part 1

R の基本操作—とにかく実行するのだ編—

阪上 辰也@名古屋大学Nagoya.R #12010-03-26

Saturday, March 27, 2010

Page 2: Nagoya.R #1 Part 1

本日の目標

•基本操作を「知る」 (覚えない)

•演習での不実行ゼロ•「R いいよ R」と勧めたくなる• ついでに「Nagoya.R いいよ」とも...

Saturday, March 27, 2010

Page 3: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 4: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 5: Nagoya.R #1 Part 1

Rとは何か

• 統計処理を目的とするプログラミング言語

• 作者:Ross Ihaka & Robert Gentleman (R & R)

• 無償+オープンソースのソフトウェア

Saturday, March 27, 2010

Page 6: Nagoya.R #1 Part 1

要するにRは統計ソフト

Saturday, March 27, 2010

Page 7: Nagoya.R #1 Part 1

Rの何が良いのか

•無償(IBM SPSS Statistics は10万弱)

•統計処理の種類が豊富•グラフィックスが美しい

Saturday, March 27, 2010

Page 8: Nagoya.R #1 Part 1

Rの弱点

•文字ベースの操作• プログラムを組む感覚を養成

•最新情報は英語• 統計+PCに関する知識が必要

Saturday, March 27, 2010

Page 9: Nagoya.R #1 Part 1

Excel や SPSS は...

•高価(IBM SPSS Statistics は10万弱)

•処理が信頼できず • Excel のひどい話(青木先生@群馬大)

•グラフィックスが美しくないSaturday, March 27, 2010

Page 10: Nagoya.R #1 Part 1

RいいよR

Saturday, March 27, 2010

Page 11: Nagoya.R #1 Part 1

Rのインストール

1. http://www.r-project.org/ にアクセス

2. “download R” をクリック

3. JAPAN の中から、どれか1つを選ぶ

4. 使っている OS のリンクをクリック

Saturday, March 27, 2010

Page 12: Nagoya.R #1 Part 1

Rのインストール Windows: http://cran.md.tsukuba.ac.jp/bin/windows/base/

■「Download R 2.10.1 for Windows」というリンクをクリックしてダウンロード

■ Mac OS X: http://cran.md.tsukuba.ac.jp/bin/macosx/  「R-2.10.1.pkg (latest version)」というリンクをクリックしてダウンロード

Saturday, March 27, 2010

Page 13: Nagoya.R #1 Part 1

Rのアップデート1. http://www.r-project.org/ にアクセス

2. 自分が使っているバージョンより新しいものが出ているか確認

3. 新規にインストール用ファイルをダウンロードの上、インストール

Saturday, March 27, 2010

Page 14: Nagoya.R #1 Part 1

Rのアンインストール• Windows

• START → Program → R → Uninstall R

• Mac OS X・/Applications 内の R アイコンと /Library/Frameworks 内の R. framework

 をゴミ箱に入れる

Saturday, March 27, 2010

Page 15: Nagoya.R #1 Part 1

Rの起動• Windows

• START → Program → R → R 2.10.1

• Mac OS X・/Applications 内の R アイコンをクリック

R の「コンソール」が表示されることを確認

Saturday, March 27, 2010

Page 16: Nagoya.R #1 Part 1

Rの終了

• Windowsも Mac OS X も1.「q()」と入力2.今は作業スペースの保存をしない3.ウィンドウが消えて、R終了

Saturday, March 27, 2010

Page 17: Nagoya.R #1 Part 1

Rの環境設定

• 細かいことは省略

• 日本語の文字化けが起こったら(Win)

• [編集]→[GUI プリファレンス]を選択• Font を [MS Mincho] か [MS Gothic] に設定

Saturday, March 27, 2010

Page 18: Nagoya.R #1 Part 1

Rで困ったら

• まずは、help(XXX) !!

• RjpWiki (http://www.okada.jp.org/RWiki/)

• R による統計処理 (http://aoki2.si.gunma-u.ac.jp/R/)

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

Saturday, March 27, 2010

Page 19: Nagoya.R #1 Part 1

1. R 概論まとめ

•R は統計ソフト•無償+何でも統計+美しい作図

•起動はクリック、終了は q()

•困ったら help(XXX) !!

Saturday, March 27, 2010

Page 20: Nagoya.R #1 Part 1

1. R 概論まとめ

RいいよRSaturday, March 27, 2010

Page 21: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 22: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 23: Nagoya.R #1 Part 1

前置きが長くなりましたがどんどん実行しましょう

Saturday, March 27, 2010

Page 24: Nagoya.R #1 Part 1

まずは四則演算•式を入力し [Enter] を押す

• > 3+5 [Enter]

• > 10-3 [Enter]

• > 2*3 [Enter]

• > 100/20 [Enter]

• > (12 + 34 -56) * 78 / 90 [Enter]

Saturday, March 27, 2010

Page 25: Nagoya.R #1 Part 1

もうちょっと複雑に

•次の違いは?

•> 100^1/2

•> 100^(1/2)

Saturday, March 27, 2010

Page 26: Nagoya.R #1 Part 1

いままでのものは単なる計算式でしたが

Saturday, March 27, 2010

Page 27: Nagoya.R #1 Part 1

Rといえば

関数が命

Saturday, March 27, 2010

Page 28: Nagoya.R #1 Part 1

関数とは指定した値に対して何らかの処理をして結果を返すもの

Saturday, March 27, 2010

Page 29: Nagoya.R #1 Part 1

Saturday, March 27, 2010

Page 30: Nagoya.R #1 Part 1

なにはともあれ実行してみましょう

Saturday, March 27, 2010

Page 31: Nagoya.R #1 Part 1

sqrt():平方根•> sqrt(2)

•> sqrt(144)

•> sqrt(104976)

• [応用] 2の立方根はどう求める?

• 「2の3分の1乗」と考える• > 2^(1/3)

Saturday, March 27, 2010

Page 32: Nagoya.R #1 Part 1

「関数(値)」が命

•R には多数の関数がある

•q() や help(xxx) も関数

•必要な関数をしつこく実行!Saturday, March 27, 2010

Page 33: Nagoya.R #1 Part 1

Rといえば

変数も命

Saturday, March 27, 2010

Page 34: Nagoya.R #1 Part 1

変数とは1つ以上の値をまとめていれておく「箱」のこと

Saturday, March 27, 2010

Page 35: Nagoya.R #1 Part 1

Rではベクトルとも呼ばれ複数の値を1つにまとめたものを指す

Saturday, March 27, 2010

Page 36: Nagoya.R #1 Part 1

統計処理などを行うには複数の値をまとめて扱う

ことが必要でそれを使い回すために

変数を使うSaturday, March 27, 2010

Page 37: Nagoya.R #1 Part 1

ちなみに変数に数値を入れることを

「代入」といいますSaturday, March 27, 2010

Page 38: Nagoya.R #1 Part 1

Saturday, March 27, 2010

Page 39: Nagoya.R #1 Part 1

なにはともあれ実行してみましょう

Saturday, March 27, 2010

Page 40: Nagoya.R #1 Part 1

変数の名前は “hako”

•> hako <- c(1,2,3,4,5)•> hako

•c() 関数:concatenate

•値を1つにまとめる関数Saturday, March 27, 2010

Page 41: Nagoya.R #1 Part 1

現在、hako という名前の「変数」の中に

1から5までの5つの数字がまとめて入っている状態

Saturday, March 27, 2010

Page 42: Nagoya.R #1 Part 1

では使い回してみましょう

Saturday, March 27, 2010

Page 43: Nagoya.R #1 Part 1

以下の関数を実行

•> sqrt(hako)

•> log(hako)

Saturday, March 27, 2010

Page 44: Nagoya.R #1 Part 1

もし変数がなかったら何度も関数を

繰り返す羽目になるsqrt(1), sqrt(2) ... sqrt(5)log(1), log (2) ... log (5)

Saturday, March 27, 2010

Page 45: Nagoya.R #1 Part 1

一括処理のために変数(ベクトル)の利用は不可欠

Saturday, March 27, 2010

Page 46: Nagoya.R #1 Part 1

2. R の基本操作まとめ

•Rは「関数」と「変数」が命

•関数を使って数値を処理•q(), help(), sqrt(), log(), c()

•変数を使って一括処理!Saturday, March 27, 2010

Page 47: Nagoya.R #1 Part 1

では変数をもっと使い回してみようと思いますが

その前に...

Saturday, March 27, 2010

Page 48: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 49: Nagoya.R #1 Part 1

Agenda

1. R 概論2. R の基本操作3. 記述統計の基礎

Saturday, March 27, 2010

Page 50: Nagoya.R #1 Part 1

今日のこの短い時間でとにかくご理解

いただきたいことは...

Saturday, March 27, 2010

Page 51: Nagoya.R #1 Part 1

統計は神様ではない

Saturday, March 27, 2010

Page 52: Nagoya.R #1 Part 1

統計処理・値が出ると

•すごーい•感動ぉー•客観的ぃー•私もそうしよー

Saturday, March 27, 2010

Page 53: Nagoya.R #1 Part 1

しかしSaturday, March 27, 2010

Page 54: Nagoya.R #1 Part 1

分析においてちょっとしたヒントを与えてくれるものにすぎない

Saturday, March 27, 2010

Page 55: Nagoya.R #1 Part 1

結局のところデータの取捨選択や解釈は

分析者次第

Saturday, March 27, 2010

Page 56: Nagoya.R #1 Part 1

それでははじめましょう

Saturday, March 27, 2010

Page 57: Nagoya.R #1 Part 1

<母集団と標本>

Saturday, March 27, 2010

Page 58: Nagoya.R #1 Part 1

【事例】名古屋大学の学生に対し食堂で提供すべき料理を調査したい

Saturday, March 27, 2010

Page 59: Nagoya.R #1 Part 1

母集団

調査対象すべて

名古屋大学の全学生 (15,000)=

Saturday, March 27, 2010

Page 60: Nagoya.R #1 Part 1

標本

母集団の一部

各学部の学生(300)=

Saturday, March 27, 2010

Page 61: Nagoya.R #1 Part 1

なぜ標本がいるか

全部調べることが事実上不可能な場合があるから

Saturday, March 27, 2010

Page 62: Nagoya.R #1 Part 1

なぜ標本がいるか

標本を調べて母集団を推測することで解決

Saturday, March 27, 2010

Page 63: Nagoya.R #1 Part 1

母集団 標本推測

標本抽出

Saturday, March 27, 2010

Page 64: Nagoya.R #1 Part 1

ちなみに基本的に抽出は無作為に行うこと

Saturday, March 27, 2010

Page 65: Nagoya.R #1 Part 1

標本は母集団のことを推測するために抽出されるもの

Saturday, March 27, 2010

Page 66: Nagoya.R #1 Part 1

そのためバランスのとれた

データである必要がある

Saturday, March 27, 2010

Page 67: Nagoya.R #1 Part 1

したがってさきほどの事例では学年・男女比なども

考慮した抽出が本当は必要

Saturday, March 27, 2010

Page 68: Nagoya.R #1 Part 1

<記述統計と推測統計>

Saturday, March 27, 2010

Page 69: Nagoya.R #1 Part 1

記述統計

集団(母集団)に属する「すべてのデータ」を用いて平均値や比率を求め、集団の特徴や傾向を明らかにする手法

Saturday, March 27, 2010

Page 70: Nagoya.R #1 Part 1

推測統計

標本を用いて母集団の特徴や傾向を推測する手法

※ Nagoya.R #2 以降で扱う予定

Saturday, March 27, 2010

Page 71: Nagoya.R #1 Part 1

<数値>

Saturday, March 27, 2010

Page 72: Nagoya.R #1 Part 1

数字をただ並べてもある集団の特徴をつかむことができない

Saturday, March 27, 2010

Page 73: Nagoya.R #1 Part 1

特徴をつかむためにある1つの数値にまとめてしまう

Saturday, March 27, 2010

Page 74: Nagoya.R #1 Part 1

まとめることを数値要約といいます

Saturday, March 27, 2010

Page 75: Nagoya.R #1 Part 1

数値要約で得られる値

•代表値;平均値・中央値・最頻値

•分散•標準偏差

Saturday, March 27, 2010

Page 76: Nagoya.R #1 Part 1

代表値

•平均値:総和÷データの個数

•中央値:データを並べた時中央にくる値•最頻値:最も頻度の高い値

(ある集団を代表し、特徴がわかる値)

Saturday, March 27, 2010

Page 77: Nagoya.R #1 Part 1

分散と標準偏差

•分  散:個々の値の平均からの距離を        自乗したものの平均値

•標準偏差:分散の平方根をとった値

(データの散らばり具合を示す値)

Saturday, March 27, 2010

Page 78: Nagoya.R #1 Part 1

嗚呼分かりにくい...

Saturday, March 27, 2010

Page 79: Nagoya.R #1 Part 1

つまり平均値を基準として個々の値がどれくらい離れているかを見る値(散らばっているか)

Saturday, March 27, 2010

Page 80: Nagoya.R #1 Part 1

まだ分かりにくい...

Saturday, March 27, 2010

Page 81: Nagoya.R #1 Part 1

平均

Saturday, March 27, 2010

Page 82: Nagoya.R #1 Part 1

記述統計の基礎のまとめ

• 統計には、記述統計と推測統計がある• 集団の傾向を捉えるために数値要約

• 平均値,最大値,分散 etc.

Saturday, March 27, 2010

Page 83: Nagoya.R #1 Part 1

それではRで数値要約をしてみましょう

Saturday, March 27, 2010

Page 84: Nagoya.R #1 Part 1

以下の関数で実行!

•基本統計量を求める:summary()

•度数分布表を作る:table()

•合計する:sum()

•データの個数を求める:length()

Saturday, March 27, 2010

Page 85: Nagoya.R #1 Part 1

続いてこちらも実行!

• 平均値を求める:mean()

• 最大値と最小値を求める:max(), min()

• 中央値を求める:median()

• 標準偏差を求める:sd()

Saturday, March 27, 2010

Page 86: Nagoya.R #1 Part 1

時間が余るようなら...

Saturday, March 27, 2010

Page 87: Nagoya.R #1 Part 1

以下は10人分のTOEICスコアです

600, 500, 720, 430, 500,550, 430, 500, 850, 400

1. “score”という名の変数に代入し2. 基礎統計量・平均値・最大値・最小値・ 中央値・標準偏差の6種類を求める

Saturday, March 27, 2010

Page 88: Nagoya.R #1 Part 1

メモを頼りに実行できれば理解は OK

Saturday, March 27, 2010

Page 89: Nagoya.R #1 Part 1

以下は10人分のTOEICスコアです

600, 500, 720, 430, 500,550, 430, 500, 850, 400

1. “score”という名の変数に代入し2. 基礎統計量・平均値・最大値・最小値・ 中央値・標準偏差の6種類を求める

Saturday, March 27, 2010

Page 90: Nagoya.R #1 Part 1

•> score <- c(600,500,720,430,500,550,430,500,850,400)

•> summary(score)

•> mean(score)

•> max(score)

•> min(score)

•> median(score)

•> sd(score)Saturday, March 27, 2010

Page 91: Nagoya.R #1 Part 1

第1部完

Saturday, March 27, 2010