Post on 11-Jul-2015
Kazutan.R
Kazutan.R
3
始めよう,RHijiyama.R 初心者向けワークショップ
4
自己紹介
• なまえ;小杉考司(Twitter @kosugitti)
• しょぞく;山口大学教育学部教育心理学コース
• せんもん;グループダイナミックス
• しゅみ;因子分析,双対尺度法,多次元尺度構成法
5
Rはとてもよいものです
• オープンなフリーソフトウェアでプログラムがしやすい
• サンプルコード,サンプルデータが豊富
• パッケージを入れればどんどん成長する
• コミュニティが世界中に!
Rに関するオープンな情報源
• Rjpwiki;日本語のR情報がここに集結
• 手前味噌ですが「山口大学教育学部教育心理学コース」のサイトには動画やテキストが公開されています。
• http://psycho.edu.yamaguchi-u.ac.jp/ へGo!
統計モデルの解説もネットで• 青木先生のサイトやseekRも役に立ちます。
8
【入門編】Rでできる基本的なこと
9
Rを導入しよう• 「R」一文字では検索できないので,「Rproject」で検索してみましょう。
10
11
12
13
15
加えて,オススメするのは
と
16
どのくらいオススメかというと
と
17
四つの領域と複数のタブ
ConsoleScript
Workspace/History Files/Plots/Packages/Help
Files 冷蔵庫/Plot ブログ用画像Package 調味料/Help レシピ本
シンク/カメラ
調理場ここでレシピを展開
22
プロジェクト単位で管理します
• プロジェクト単位によるデータ管理をしておくとよい
• ひとつのフォルダにデータとソースコードを入れておく
23
完全に一致
長所• ファイルがあちこちに拡散しない
• プロジェクトごとにワークスペース(Rの記憶)が保持できる
• Working Directoryが自動的に設定される(パスが短くて済む)
• R単体だとsetwd関数で指定する
30
他にも便利な機能がいっぱい
• 関数補完機能(TABキー)
• SourceからConsoleへ(Run),HistoryからConsoleやSourceへ
• 実行してうまく行ったものをSourceに保存=清書
• プロットした図の出力(サイズ変更やClipboard出力,File出力)
31
over 4000 packages!
• パッケージは「新しい料理のレシピ」,”Cookpad”のようなもの。
• インターネット上のCRANから取り込んで料理上手になろう!
• パッケージをインストールするのは三通り• install.packages関数を使う
• Rguiから
• Rstudioから32
パッケージのインストール• install.packages(“psych”) とするか,
• メニューのパッケージから進むか
33
Rstudio)packageタブから
• ここでinstall Packagesを選ぶとグイグイいけます。
• ダウンロード済みのパッケージをアップデートするのもグイッと!
34
ダウンロードと実装
• インストールするだけでは使えません。
• 「ここで装備していくかい?」=library関数
• library(psych)とするとpsychパッケージの関数群がつかえるようになります。
35
Rstudio)libraryもボタン一つで
装備を外す=detachもチェックボックスをオフにするだけ
36
Rの基本
• Rと一問一答スタイルです!
• 大文字と小文字を区別することに注意!
• 「>」この状態になっていれば会話スタートです!
37
Rの基本
• 四則演算をやってみましょう。
• 1+2はいくらだい?と聞いてみます。
38
もっともっと• 2+3,3*4,4/5,(2+6)/4などの四則演算もお茶の子さいさい
• sqrt(16)とかabs(-2),cos(30)といった関数も使えます
• 2+3i+4+5iという複素数の計算も!
• piと書くと円周率がでてきます(予約語)
• 予約語については?Constantsで調べてね
39
Tips
関数とヘルプ• ()で括るのを「関数」といいます。
• sqrt()もabs()もcos()も関数です。()の中に数値やデータやオプションを指定します。
• ヘルプをひくのも関数で。help(sqrt)など。
• Rを終わらせるのも関数で。q()とします。
40
作業スペース?• Rの記憶だと思ってください。
• 次にRを使うときに,今やったことの記憶を引き継ぎたければ「はい」を,宵越しの記憶は持たない,という人は「いいえ」を選択。
41
関数の書き方• 関数は,関数名(引数,引数,引数,...)のように書きます。
• 引数(ひきすう)は関数に渡したい数字やデータです。
• 引数でオプションの指定をすることもあります。
• 例)mean(x, na.rm=TRUE)
• TRUE/FALSEはスイッチのon/offを表す記号です(予約語)
ヘルプを使おう• 関数の意味が分からなかったら,「>」とRが聞き耳を立てているときにお伺いをたてましょう。
• help(mean) あるいは ?meanと書いてみましょう
• そうするとびっくりすることが起きるよ。
43
ヘルプの使い方• ヘルプは英語ですが,書式は整っているので慣れれば読めます• Description;解説
• Usage;使い方とデフォルト情報。
• Auguments;引数。与える情報。
• Details;関数の詳細。
• Value;関数が返す値。アウトプット。
• ReferenceやExampleもあります。44
ただの電卓じゃないよ• 数字をセットで扱えます。
• 数字のセットに名前を付けてとっておくことができます。次のように入力してみてください。
• 1:4 -> kazutan
• 「いちころんよん ハイフン だいなり かずたん」
• 「かずたん」
> 1:4 -> kazutan> kazutan[1] 1 2 3 4
45
一言一句解説• 一行目;
• 「いちころんよん」;1から4まで連続した数字
• 「ハイフン だいなり」;→のつもり。代入しなさい。• 「かずたん」;かずたんと名付けた箱の中に。
• 二行目
• 「かずたん」;かずたんの中身はなんなんだい?46
数をセットで扱える
• 次のように入力してみましょう
• c(1,3,5,7,9) ->Kazutan
• 注意!Kazutanとkazutanは別物です!kazuTanもね!
• Kazutan+3
• Kazutan*2
> c(1,3,5,7,9)-> Kazutan> Kazutan+3[1] 4 6 8 10 12> Kazutan*2[1] 2 6 10 14 18
cは「つないで」
47
数をセットで扱うので• 当然こんなことができます。
平均はmean()
分散はvar()
標準偏差はsd()
相関はcor()
> x <- 1:10> y <- c(2,3,4,2,3,4,2,3,4,5)> mean(x)[1] 5.5> var(x)[1] 9.166667> sd(x)[1] 3.02765> cor(x,y)[1] 0.5330018
48
数字のセットとセットで
• 数字と数字のセットを足し合わせたりすることもできます
> x [1] 1 2 3 4 5 6 7 8 9 10> y [1] 2 3 4 2 3 4 2 3 4 5> x+y [1] 3 5 7 6 8 10 9 11 13 15
49
いわゆるデータの形としては
• data.frame型というスタイル
• 変数名がつけられる矩形行列
データフレームの例
• Irisデータをみてみましょう。baseに最初から含まれるデータセットですので,特に何もしなくても読み込まれています。
• head(iris)/tail(iris);データの最初の数行,最後の数行
• summary(iris);データの要約が表示されます。
51
$をつかって変数指定• データフレーム$変数名,で指定
$をつかって変数指定• データフレーム$新しい変数名 <- 操作,で変数作成
データハンドリングが山
• Rに乗り換えを考えるときに,一番大変なのがデータの加工
• これを乗り越えれば,関数の使い方は共通のフォーマットがあるし,便利な関数が山のようにある
• データハンドリングの詳細は,次の発表者にバトンタッチ!
Enjoy Life!
Thank you!