Nagoya.R #12 入門者講習 
名古屋大学大学院 
川口 勇作 
y.kawaguchi@nagoya-u.jp 
於:名古屋大学東山キャンパス 
2014/12/6
はじめに… 
•本日はお寒い中Nagoya.R #12にお 越しいただきありがとうございます 
•これから約1時間半の入門者講習です 
–退屈されないように頑張ります 
–できる方は周りのサポートか睡眠学習 の時間に
自己紹介 
•川口 勇作 (KAWAGUCHI, Yusaku) 
–外国語教育について勉強しています 
–Nagoya.Rの Ustream中継担当 運営 
–R利用歴:1年半ちょい? 
•エンドユーザの域を出ない 
•入門者が入門者講習をやるという斬新な企 画
本日のメニュー 
•Rとは何か 
•Rの基本操作 
•関数と変数はRの命 
•行列を作ろう 
•あっという間に作図の巻
そもそも って何?
とは 
•統計処理のためのプログラミング言 語 
•無償+オープンソースのソフトウェ ア 
•いわゆる「統計ソフト」
のよいところ 
•タダ(SPSSは約10万円) 
•たくさんの統計処理ができる 
•グラフがきれい
うおぉぉぉぉぉぉぉ!!
るおぉぉぉぉぉぉぉ!!
WRRRYYYYYYYY!!
のつらいところ 
•文字ベースの操作 
–プログラミング技術が多少必要に 
•いろいろな知識が必要 
–英語も多少読めないといけない
ウゲーッ
のつらいところ 
•文字ベースの操作 
–プログラミング技術が多少必要に 
•いろいろな知識が必要 
–英語も多少読めないといけない 
•どっちも解決します!
本日のメニュー 
•Rとは何か 
•Rの基本操作 
•関数と変数はRの命 
•行列を作ろう 
•あっという間に作図の巻
まず インストール
のインストール 
•http://www.r-project.org/にアク セス 
•“download R” をクリック 
•Japanの中から,CRAN1つを選択 
•使っているOS のリンクをクリック 
•バージョンを選択しダウンロード
<- 過去のバージョンのものはこちらから!
のインストール 
•ダウンロードしたファイルをダブル クリックで開く 
•ダイアログの指示にしたがって進め る
のアップデート 
•http://www.r-project.org/にアク セス 
•新しいバージョンが出ているか確認 
•新規にインストール用ファイルをダ ウンロードしてインストール 
•要するに手動
のアップデート 
•注意:更新は控えめに 
–使いたいパッケージ(追加機能)が古 いバージョンだと使えない場合 
–セキュリティに問題がある場合 
•なおWindows版は新旧のバージョンが併存 できます
のアンインストール 
•Windows 
–コンパネ>プログラムの追加と削除 
–一般的なアプリケーションのアンインス トールの手順と同じ) 
•Mac OS X 
–/Applications にある アイコンと /Library の中のFrameworks にある R. framework を削除
起動・終了 させましょう
の起動 
•Windows 
–スタート -> プログラム -> R -> お好み のバージョンを起動 
•Mac OS X 
– /Application内のRアイコンをクリック 
•-> Rの「コンソール」が表示されるか確 認してください
の終了 
•WindowsもMac OS Xも 
–「閉じる」ボタンでおk 
–「q()」と入力(これが終了コマンド) 
•ウィンドウが消えてR終了 
–作業スペースの保存をするかどうか聞かれる 
–今はしなくていいです
で困ったときは… 
•とりあえずググる 
•以下のサイトを調べましょう 
–seekR (http://seekr.jp/) 
–R SEEK (http://www.rseek.org/) 
–RjpWiki (http://www.okada.jp.org/RWiki/) 
–R-Tips (http://cse.naro.affrc.go.jp/takezawa/r- tips/r.html) 
–Rによる統計処理 (http://aoki2.si.gunma- u.ac.jp/R/)
まとめ 
• は統計ソフト 
•無償でいろんな統計が使えてきれい な図が描けます 
•困ったときはググりましょう
本日のメニュー 
•Rとは何か 
•Rの基本操作 
•関数と変数はRの命 
•行列を作ろう 
•あっという間に作図の巻
関数・変数は Rの命
以下 ”>”から始まる式を コンソールに 入力していってください ”>”は入力 しなくていいです
R version 3.0.1 (2013-05-16) -- "Good Sport" 
Copyright (C) 2013 The R Foundation for Statistical Computing 
Platform: i386-w64-mingw32/i386 (32-bit) 
R は、自由なソフトウェアであり、「完全に無保証」です。 
一定の条件に従えば、自由にこれを再配布することができます。 
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 
R は多くの貢献者による共同プロジェクトです。 
詳しくは 'contributors()' と入力してください。 
また、R や R のパッケージを出版物で引用する際の形式については 
'citation()' と入力してください。 
'demo()' と入力すればデモをみることができます。 
'help()' とすればオンラインヘルプが出ます。 
'help.start()' で HTML ブラウザによるヘルプがみられます。 
'q()' と入力すれば R を終了します。 
>| 
<- ここから入力
四則演算 
•式を入力し[Enter]を押す 
> 3+5 [Enter] 
> 10-3 [Enter] 
> 2*3 [Enter] 
> 100/20 [Enter] 
> (12+34-56)*78/90 [Enter] 
-8.666667
累乗 
•「 ^ 」を使う 
> 10^2 
10の2乗 
> 100^2 
100の2乗
ちょっと高度に 
•次の違いは? 
> 100^1/2 
1001/2 
> 100^(1/2) 
100(1/2)
おさらい 
•足し算:+ 
•引き算:- 
•掛け算:* 
•割り算:/ 
•累乗:^
これまでのは単なる計算式 これから関数というものを 使います
関数とは? 
•指定した値(引数)に対して何らか の処理をして結果を返すもの 
• には多数の関数がある 
•q() や help() も関数 
–()の中に引数を入れる
とりあえず やってみましょう
sqrt():平方根 
> sqrt(2) 
1.414214 
> sqrt(144) 
12 
> sqrt(104976) 
324
コンソールで「+」が出たら 
•入力中に誤って[Enter]を押すと,待 機状態を示す「+」が出る 
–[STOP]ボタン ,もしくは[Esc] キーでキャンセル 
> sqrt( 
+
次に 変数 というものを 使います
変数とは? 
•変数とは1つ以上の値をまとめてい れておく「箱」のこと 
• ではベクトルとも呼ばる 
•複数の値を1つにまとめたものを指 す
変数とは? 
•統計処理を行うには複数の値をまと めて扱うことが必要 
–それを使い回すために変数を使う 
•変数に数値を入れることを「代入」 という
英語で例えると 
•関数は動詞 
•引数は目的語 
•変数は代名詞 
みたいなもの?
…とりあえず やってみましょう
変数に数値を入れる 
•変数の名前を”hako”にしましょう 
> hako <- c(1,2,3,4,5) 
c関数:値を1つにまとめる関数 
–代入したら中身を確認 
> hako
“<-”って? 
> hako <- c(1,2,3,4,5) 
の”<-”は左向きの矢印(←)を表現 
–矢印の先にある変数に代入します 
–矢印は反対方向でもOK 
> c(1,2,3,4,5) -> hako
「+」が出たら 
•入力中に誤って[Enter]を押すと,待 機状態を示す「+」が出る 
–[STOP]ボタン ,もしくは[Esc] キーでキャンセル 
> hako < +
履歴機能と補完機能 
•履歴:上下の矢印キー 
–今まで入力したものが記録されている 
•補完:[Tab]キー 
–一部を入力すると入力履歴や関数から 予測して補完してくれる
現在 ”hako”という名前の 変数の中に 1から5までの数字が まとめて入っている 状態です
以下の関数を実行 
> sqrt(hako) 
> log(hako)
これだけ入力するのと どっちが楽ですか? 
> sqrt(1) 
> sqrt(2) 
> sqrt(3) 
> sqrt(4) 
> sqrt(5) 
> log(1) 
> log(2) 
> log(3) 
> log(4) 
> log(5)
これだけ入力するのと どっちが楽ですか? 
> sqrt(1) 
> sqrt(2) 
> sqrt(3) 
> sqrt(4) 
> sqrt(5) 
> log(1) 
> log(2) 
> log(3) 
> log(4) 
> log(5)
使ってみよう 
•基本統計量を求める:summary() 
•度数分布表を作る:table() 
•合計する:sum() 
•データの個数を求める:length()
使ってみよう 
•平均値を求める:mean() 
•最大値を求める:max() 
•最小値を求める:min() 
•中央値を求める:median() 
•標準偏差を求める:sd()
ここまでのまとめ 
•Rは「関数」と「変数」が命 
•関数を使って数値を処理 
•q(), help(), sqrt(), log(), c() など 
•変数を使って一気に処理
本日のメニュー 
•Rとは何か 
•Rの基本操作 
•関数と変数はRの命 
•行列を作ろう 
•あっという間に作図の巻
例えば… 
身長 
体重 
A 
180 
75 
B 
170 
65 
C 
165 
60 
D 
175 
70 
E 
190 
80
行列とは? 
•数値が縦横に並べられたもの 
–身長と体重 
–勉強時間とテストの得点 
–摂取カロリー量と血圧
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
1 
2 
3 
4 
5 
6 
7 
8 
9
行列を作る関数 
•matrix()関数 
–matrix(要素, 行の数, 列の数)
このデータで… 
身長 
体重 
A 
180 
75 
B 
170 
65 
C 
165 
60 
D 
175 
70 
E 
190 
80
行列を作ってみる 
> karada <- matrix(c(180, 170, 165, 175, 190, 75, 65, 60, 70, 80), 5, 2) 
•c()関数で,数値を連結 
•matrix()関数で,5行2列の行列に変換 
•“karada”という名の変数に代入 
•> karada と入力して変数の中身を確認
行列の要素を取り出す 
•行列を作り変数に代入 
•変数の中から見たい行や列を指定
行列の要素を取り出す 
•2行目を表示 -> karada[2,] 
•2列目を表示 -> karada[,2]
行列の要素を取り出す 
•複数行・複数列をまとめて取り出す ときはc()関数を使う
行列まとめ 
•横方向が行,縦方向が列 
•matrix()関数で行列を作る 
•必要な要素を適宜取り出して値を確 認
データフレーム 
•文字データや数字データを一緒くた にして並べたもの 
•関数を駆使して自力で作ることも可 能 
•だけど…
できますけど… 
•コマンドや文字をいちいち打ち込む のはしんどい! 
•Excelなどの外部から楽にデータを読 み込みたい! 
-> できます
外部データの読み込み 
•read.table()関数 
•read.delim()関数 
•read.csv()関数 
•1つずつ解説します
外部データの読み込み 
•read.table()関数 
–データフレーム形式のテキストを読み 込む 
•read.table("ファイル名", header=T / F , sep="¥t" / ",")
外部データの読み込み 
•read.table()関数 
–headerとは「見出し行」のこと 
•Tならあり,Fならなし 
–sepとは「区切り文字」のこと 
•"¥t" ならタブ,"," ならカンマ
外部データの読み込み 
•read.delim()関数 
–タブで区切られたテキストを読み込む 
–タブ区切りテキスト専用 
–read.delim("ファイル名", header=T / F)
外部データの読み込み 
•read.csv()関数 
–カンマで区切られたテキストを読み込 む 
–カンマ区切りテキスト専用 
–read.csv("ファイル名", header=T / F)
外部データの読み込み 
•ファイル選択ダイアログからの読み 込み 
–“ファイル名”のところに… 
•file.choose()と入力
外部データの読み込み 
•クリップボードからの読み込み 
–“ファイル名”のところに… 
•Win & Linux:"clipboard" 
•Mac:pipe("pbpaste") 
•…と入力
演習 
•見出し行のあるデータを、Excelからクリップ ボードにコピーして読み込んで、「dat」とい う名前の変数に代入してみましょう 
–Win & Linuxの場合 
dat<-read.table("clipboard", header=T) 
–Macの場合 
dat<- read.table(pipe"pbpaste", header=T)
変数を使ってみましょう 
•table(dat[,1]) 
–度数分布を確認する 
•mean(dat[,2]) 
–平均値を求める
本日のメニュー 
•Rとは何か 
•Rの基本操作 
•関数と変数はRの命 
•行列を作ろう 
•あっという間に作図の巻
あっという間に作図の巻 
•ヒストグラム 
•散布図 
•箱ひげ図 
•さっそくやってみましょう
ヒストグラムの作図 
•hist()関数 
–さっきのデータに基づいて、身長・体 重の分布を確認しましょう 
–重要:引数はdatの1列目、2列目という ように指定してください
散布図の作図 
•plot()関数 
–TOEICスコアと英作文の語数の相関を 確認しましょう
箱ひげ図の作図 
•boxplot()関数 
–英作文の語数の幅を比較しましょう
作図まとめ 
•hist()関数 
•plot()関数 
•boxplot()関数 
•たったこれだけで美しい作図 
•Rってすごい
結論 
みんな で 
みんないい 
みなさんもRを使いましょう

Nagoya.R #12 入門者講習