Nagoya.R #11 入門者講習

1,795
-1

Published on

Nagoya.R #11にて使用したスライドを一部改変したものです。
Ustream中継(録画)はこちらから
http://www.ustream.tv/recorded/41452159

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,795
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nagoya.R #11 入門者講習

  1. 1. Nagoya.R #11 入門者講習 名古屋大学大学院 川口 勇作 y.kawaguchi@nagoya-u.jp 於:名古屋大学大学院国際開発研究科 2013/12/7
  2. 2. 自己紹介 • 川口 勇作 (KAWAGUCHI, Yusaku) –所属:名古屋大学大学院 –コンピュータ支援言語教育について 勉強中 –Nagoya.RのUstream中継担当 –R利用歴:まだ半年
  3. 3. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  4. 4. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  5. 5. とは何か • 統計処理のためのプログラミン グ言語 • 無償+オープンソースのソフ トウェア
  6. 6. のよい点 • 無償!(SPSSは約10万円) • 豊富な種類の統計処理! • 美しいグラフィックス!
  7. 7. A B C D うおぉぉぉぉぉぉぉ!! 0.0 0.2 0.4 0.6 Score 0.8 1.0
  8. 8. 0.6 0.4 0.2 0.0 Density 0.8 1.0 1.2 るおぉぉぉぉぉぉぉ!! -3 -2 -1 0 Cohen's d 1 2 3
  9. 9. WRRRYYYYYYYY!! -0.15 -1.0 0.0 2.0 3.0 4.0 0.1 0.3 1.0 2.5 4.0 1.0 2.5 4.0 2.0 3.0 4.0 0.19 -0.04 0.07 0.37 -0.16 0.02 0.31 0.16 0.57 0.35 0.23 0.16 500 800 0.0 1.0 2.0 TOEIC -0.01 0.25 -0.14 -0.24 0.49 0.50 0.12 -0.03 -0.07 -0.24 0.21 0.05 頻度効果 0.5 -0.21 0.17 0.08 0.04 0.12 0.21 0.02 0.01 0.05 -0.01 -0.12 -1.0 0.0 0.0 1.5 語長効果 親密度効果 心像性効果 0.22 -0.21 0.11 0.34 0.16 -0.14 0.18 0.23 0.23 -0.5 0.5 -1.0 0.16 0.00 -0.05 0.20 0.37 0.26 0.22 0.14 0.18 0.13 -0.18 -0.05 -0.06 0.05 0.04 -0.27 -0.18 -0.29 0.19 -0.23 -0.05 0.02 -0.06 0.19 -0.16 -0.07 反応時間 1200 2.0 0.17 0.66 -0.26 -0.07 600 3.5 弁別力 読む 0.35 0.15 0.13 0.26 0.44 3.5 0.05 2.0 0.1 0.3 自動化係数 3.0 書く 5 聞く 1 0.64 0.10 0.09 3 1.0 0.38 0.53 0.20 0.41 3.0 話す 5 文法 1 0.48 3 1.0 0.03 0.27 2.0 3.5 語彙 500 700 900 -1.0 0.0 -0.5 0.5 600 1000 2.0 3.0 4.0 1 2 3 4 5 1 2 3 4 5
  10. 10. のつらい点 • 文字ベースの操作 –プログラミング技術が多少必要に • いろいろな知識が必要 –英語・統計について
  11. 11. ウゲーッ
  12. 12. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  13. 13. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  14. 14. まず インストール
  15. 15. のインストール 1. http://www.r-project.org/にア クセス 2. “download R” をクリック 3. Japanの中から,CRAN1つを選択 4. 使っているOS のリンクをクリック 5. バージョンを選択しダウンロード
  16. 16. <- 過去のバージョンのものはこちらから!
  17. 17. のインストール 6. ダウンロードしたファイルを ダブルクリックで開く 7. ダイアログの指示にしたがって進 める
  18. 18. のアップデート 1. http://www.r-project.org/にア クセス 2. 新しいバージョンが出ているか確 認 3. 新規にインストール用ファイルを ダウンロードしてインストール
  19. 19. のアップデート • 注意 –重大なセキュリティ上の問題がな い限り,むやみに更新しない • パッケージ(付加機能)の動作不良 の回避 • Tips:Windows版は新旧共生可能
  20. 20. のアンインストール • Windows – コンパネ>プログラムの追加と削除(一般的 なアプリケーションのアンインストールの手 順と同じ) • Mac OS X – /Applications にある アイコンと/Library の中のFrameworks にある R. framework を 削除
  21. 21. 起動・終了 させましょう
  22. 22. の起動 • Windows – スタート -> プログラム -> R -> お好みの バージョンを起動 • Mac OS X – /Application内のRアイコンをクリック -> Rの「コンソール」が表示されるか確認し てください
  23. 23. の終了 • WindowsもMac OS Xも – 「閉じる」ボタンでもいいんだけど… –「q()」と入力( これが終了コマンド) • ウィンドウが消えてR終了 – 作業スペースの保存はしないでください
  24. 24. で困ったときは… • まずは「help()」を実行! – () の中に調べたい語句を入れる • 以下のサイトも… – 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/)
  25. 25. まとめ • は統計ソフト • 無償×いろんな統計×美しい作図 • 困ったら色々調べてみる
  26. 26. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  27. 27. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  28. 28. 関数・変数は Rの命
  29. 29. 以下 ”>”から始まる式を コンソールに 入力していってください ”>”は入力 しなくていいです
  30. 30. 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 を終了します。 >| <- ここから入力
  31. 31. 四則演算 • 式を入力し[Enter]を押す > > > > > 3+5 [Enter] 10-3 [Enter] 2*3 [Enter] 100/20 [Enter] (12+34-56)*78/90 [Enter] -8.666667
  32. 32. 累乗 •「 ^ 」を使う > 10^2 10の2乗 > 100^2 100の2乗
  33. 33. ちょっと高度に • 次の違いは? > 100^1/2 1/2 100 > 100^(1/2) (1/2) 100
  34. 34. おさらい • 足し算:+ • 引き算:• 掛け算:* • 割り算:/ • 累乗:^
  35. 35. これまでのは 単なる計算式
  36. 36. これから 関数 というものを使います
  37. 37. 関数とは? • 指定した値に対して何らかの処 理をして結果を返すもの • には多数の関数がある • q() や help() も関数 –()の中に値を入れる
  38. 38. sqrt():平方根 > sqrt(2) 1.414214 > sqrt(144) 12 > sqrt(104976) 324
  39. 39. コンソールで「+」が出たら • 入力中に誤って[Enter]を押すと, 待機状態を示す「+」が出る > sqrt( + –[STOP]ボタン ,もしくは[Esc] キーでキャンセル
  40. 40. 次に 変数 というものを使います
  41. 41. 変数とは? • 変数とは1つ以上の値をまとめ ていれておく「箱」のこと • ではベクトルとも呼ばれ 複数の値を1つにまとめたもの を指す
  42. 42. 変数とは? • 統計処理を行うには複数の値 をまとめて扱うことが必要 –それを使い回すために変数を使う • 変数に数値を入れることを 「代入」という
  43. 43. 変数に数値を入れる • 変数の名前は”hako” > hako <- c(1,2,3,4,5) – c()関数:conbine (cf. https://twitter.com/langstat/status/193707940518170625)  値を1つにまとめる関数 • 代入したら中身を確認 > hako
  44. 44. “<-”って? • > hako <- c(1,2,3,4,5) の”<-”は 左向きの矢印(←) を表現 ※「=」でも置き換え可能だが推奨されない
  45. 45. 履歴機能と補完機能 • 履歴:上下の矢印キー –今まで入力したものが記録されて いる • 補完:[Tab]キー –一部を入力すると入力履歴や関 数から予測して補完してくれる
  46. 46. 現在 ”hako”という名前の 変数の中に 1から5までの数字が まとめて入っている 状態です
  47. 47. 使い回して みましょう
  48. 48. 以下の関数を実行 > sqrt(hako) > log(hako)
  49. 49. これだけ入力するのと どっちが楽ですか? > > > > > > > > > > sqrt(1) sqrt(2) sqrt(3) sqrt(4) sqrt(5) log(1) log(2) log(3) log(4) log(5)
  50. 50. もっと 使い回して みましょう
  51. 51. 以下の関数で実行 • • • • 基本統計量を求める:summary() 度数分布表を作る:table() 合計する:sum() データの個数を求める:length()
  52. 52. 以下の関数で実行 • • • • • 平均値を求める:mean() 最大値を求める:max() 最小値を求める:min() 中央値を求める:median() 標準偏差を求める:sd()
  53. 53. ここまでのまとめ • Rは「関数」と「変数」が命 • 関数を使って数値を処理 • q(), help(), sqrt(), log(), c() • 変数を使って一括処理!
  54. 54. 今日は メモを頼りに 実行できればOK
  55. 55. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  56. 56. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  57. 57. 例えば… 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80
  58. 58. 行列とは? • 数値が縦横に並べられたもの –身長と体重 –勉強時間とテストの得点 –年齢と元カレ・元カノの数
  59. 59. 1 2 3 4 5 6 7 8 9
  60. 60. 1 2 3 4 5 6 7 8 9
  61. 61. 1 2 3 4 5 6 7 8 9
  62. 62. 1 2 3 4 5 6 7 8 9
  63. 63. 1 2 3 4 5 6 7 8 9
  64. 64. 1 2 3 4 5 6 7 8 9
  65. 65. 1 2 3 4 5 6 7 8 9
  66. 66. 行列を作る関数 •matrix()関数 –matrix(要素, 行の数, 列の数)
  67. 67. このデータで… 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80
  68. 68. 行列を作ってみる > karada <- matrix(c(180, 170, 165, 175, 190, 75, 65, 60, 70, 80), 5, 2) 1. c()関数で,数値を連結 2. matrix()関数で,5行2列の行列に変換 3. “karada”という名の変数に代入 4. > karada と入力して変数の中身を確認
  69. 69. 行列の要素を取り出す 1. 行列を作り変数に代入 2. 変数の中から見たい行や列を 指定
  70. 70. 行列の要素を取り出す > demo <- matrix(1:30, nrow = 5, ncol = 6)
  71. 71. 行列の要素を取り出す • 2行目を表示 -> demo[2,] • 2列目を表示 -> demo[,2]
  72. 72. 行列の要素を取り出す • 複数行・複数列をまとめて取り 出すときはc()関数を使う
  73. 73. 行列まとめ • 横方向が行,縦方向が列 • matrix()関数で行列を作る • 必要な要素を適宜取り出して値 を確認
  74. 74. 数字だけじゃなくて 文字 も入れたいんだけど
  75. 75. できます
  76. 76. データフレーム • 文字データや数字データを一 緒くたにして並べたもの • 関数を駆使して自力で作ることも 可能 だけど…
  77. 77. できますけど… • コマンドや文字をいちいち打ち込 むのはしんどい! • Excelなどの外部から楽にデータ を読み込みたい! -> できます
  78. 78. 外部データの読み込み • read.table()関数 • read.delim()関数 • read.csv()関数 • 1つずつ解説します
  79. 79. その前に… • 作業フォルダの確認 –getwd()関数 • 作業フォルダがわかったら, 「nagoyar11」フォルダの中身を すべて作業フォルダ内に入れてくだ さい
  80. 80. 外部データの読み込み • read.table()関数 –データフレーム形式のテキスト を読み込む read.table("ファイル名", header=T / F , sep="¥t" / ",")
  81. 81. 外部データの読み込み • read.table()関数 –headerとは「見出し行」のこと • Tならあり,Fならなし –sepとは「区切り文字」のこと • "¥t" ならタブ,"," ならカンマ
  82. 82. 外部データの読み込み • read.delim()関数 –タブで区切られたテキストを読 み込む –タブ区切りテキスト専用 –read.delim("ファイル名", header=T / F)
  83. 83. 外部データの読み込み • read.csv()関数 –カンマで区切られたテキストを 読み込む –カンマ区切りテキスト専用 –read.csv("ファイル名", header=T / F)
  84. 84. 外部データの読み込み • ファイル選択ダイアログからの 読み込み –“ファイル名”のところに… file.choose()と入力
  85. 85. 外部データの読み込み • クリップボードからの読み込み –“ファイル名”のところに… • Win & Linux:"clipboard" • Mac:pipe("pbpaste") …と入力
  86. 86. 演習1 • Excelからクリップボードにコピー した,見出し行のあるデータを読み 込みましょう – Win & Linuxの場合: > read.table("clipboard", header=T) – Macの場合: > read.table(pipe"pbpaste", header=T)
  87. 87. 演習2 • ファイル選択ダイアログから選択 した見出し行のないタブ区切りテ キストを読み込みましょう > read.table(file.choose(), header=F, sep="¥t") > read.delim(file.choose(), header=F)
  88. 88. 演習3 • 作業フォルダ内の,見出し行のある カンマ区切りテキストを読み込ん で”karada2”という変数に代入してみま しょう > karada2 <- read.table(“karada.csv”, header=T, sep=“,”) > karada2 <- read.csv("karada.csv", header=T)
  89. 89. せっかく代入したので 使ってみましょう • table(karada2[,1]) –度数分布を確認する • mean(karada2[,2]) –平均値を求める • hist(karada2[,2]) –ヒストグラムを描く
  90. 90. 行列の要素を取り出す • 2行目を表示 : demo[2,] • 2列目を表示 : demo[,2]
  91. 91. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  92. 92. 本日のメニュー 1. 2. 3. 4. Rとは何か Rの基本操作 関数と変数はRの命 行列を作ろう 5. あっという間に作図の巻
  93. 93. あっという間に作図 の巻 • ヒストグラム • 散布図 • 箱ひげ図 • さっそくやってみましょう
  94. 94. ヒストグラムの作図 • hist()関数 –身長の分布を確認しましょう > height <- c(160, 160, 160, 165, 170, 170, 170, 170, 175, 175, 180, 185, 185, 185, 190) > hist(height)
  95. 95. 散布図の作図 • plot()関数 –TOEICスコアと英作文の語数の相 関を確認しましょう > score <- c(600, 500, 720, 430, 500, 550, 430, 500, 850, 400) > words <- c(340, 190, 465, 170, 130, 225, 140, 310, 580, 120) > plot(score, words)
  96. 96. 箱ひげ図の作図 • boxplot()関数 –英作文の語数の幅を比較しましょう > nns <- c(350, 285, 315, 340, 210, 185, 120, 740, 425, 155) > ns <- c(365, 570, 645, 540, 645, 665, 880, 550, 410, 585) > boxplot(nns, ns, names = c("NNS", "NS"))
  97. 97. 作図まとめ • hist()関数 • plot()関数 • boxplot()関数 • たったこれだけで美しい作図
  98. 98. References 天野修一(2013)「入門者講習」 Nagoya.R #10. 名古屋大学. 阪上辰也(2012)「入門者講習」 Nagoya.R #8. 名古屋大学. Retrieved from http://www.slideshare.net/sakaue/nagoyar -8
  99. 99. 長時間 お疲れ様でした 川口 勇作 y.kawaguchi@nagoya-u.jp
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×