hijiyama.r entry session

55

Upload: -

Post on 11-Jul-2015

891 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Hijiyama.R Entry session
Page 2: Hijiyama.R Entry session

Kazutan.R

Kazutan.R

Page 3: Hijiyama.R Entry session

3

Page 4: Hijiyama.R Entry session

始めよう,RHijiyama.R 初心者向けワークショップ

4

Page 5: Hijiyama.R Entry session

自己紹介

• なまえ;小杉考司(Twitter @kosugitti)

• しょぞく;山口大学教育学部教育心理学コース

• せんもん;グループダイナミックス

• しゅみ;因子分析,双対尺度法,多次元尺度構成法

5

Page 6: Hijiyama.R Entry session

Rはとてもよいものです

• オープンなフリーソフトウェアでプログラムがしやすい

• サンプルコード,サンプルデータが豊富

• パッケージを入れればどんどん成長する

• コミュニティが世界中に!

Page 7: Hijiyama.R Entry session

Rに関するオープンな情報源

• Rjpwiki;日本語のR情報がここに集結

• 手前味噌ですが「山口大学教育学部教育心理学コース」のサイトには動画やテキストが公開されています。

• http://psycho.edu.yamaguchi-u.ac.jp/ へGo!

Page 8: Hijiyama.R Entry session

統計モデルの解説もネットで• 青木先生のサイトやseekRも役に立ちます。

8

Page 9: Hijiyama.R Entry session

【入門編】Rでできる基本的なこと

9

Page 10: Hijiyama.R Entry session

Rを導入しよう• 「R」一文字では検索できないので,「Rproject」で検索してみましょう。

10

Page 11: Hijiyama.R Entry session

11

Page 12: Hijiyama.R Entry session

12

Page 13: Hijiyama.R Entry session

13

Page 14: Hijiyama.R Entry session
Page 15: Hijiyama.R Entry session

15

Page 16: Hijiyama.R Entry session

加えて,オススメするのは

16

Page 17: Hijiyama.R Entry session

どのくらいオススメかというと

17

Page 18: Hijiyama.R Entry session
Page 19: Hijiyama.R Entry session
Page 20: Hijiyama.R Entry session
Page 21: Hijiyama.R Entry session
Page 22: Hijiyama.R Entry session

四つの領域と複数のタブ

ConsoleScript

Workspace/History Files/Plots/Packages/Help

Files 冷蔵庫/Plot ブログ用画像Package 調味料/Help レシピ本

シンク/カメラ

調理場ここでレシピを展開

22

Page 23: Hijiyama.R Entry session

プロジェクト単位で管理します

• プロジェクト単位によるデータ管理をしておくとよい

• ひとつのフォルダにデータとソースコードを入れておく

23

Page 24: Hijiyama.R Entry session
Page 25: Hijiyama.R Entry session
Page 26: Hijiyama.R Entry session
Page 27: Hijiyama.R Entry session
Page 28: Hijiyama.R Entry session
Page 29: Hijiyama.R Entry session

完全に一致

Page 30: Hijiyama.R Entry session

長所• ファイルがあちこちに拡散しない

• プロジェクトごとにワークスペース(Rの記憶)が保持できる

• Working Directoryが自動的に設定される(パスが短くて済む)

• R単体だとsetwd関数で指定する

30

Page 31: Hijiyama.R Entry session

他にも便利な機能がいっぱい

• 関数補完機能(TABキー)

• SourceからConsoleへ(Run),HistoryからConsoleやSourceへ

• 実行してうまく行ったものをSourceに保存=清書

• プロットした図の出力(サイズ変更やClipboard出力,File出力)

31

Page 32: Hijiyama.R Entry session

over 4000 packages!

• パッケージは「新しい料理のレシピ」,”Cookpad”のようなもの。

• インターネット上のCRANから取り込んで料理上手になろう!

• パッケージをインストールするのは三通り• install.packages関数を使う

• Rguiから

• Rstudioから32

Page 33: Hijiyama.R Entry session

パッケージのインストール• install.packages(“psych”) とするか,

• メニューのパッケージから進むか

33

Page 34: Hijiyama.R Entry session

Rstudio)packageタブから

• ここでinstall Packagesを選ぶとグイグイいけます。

• ダウンロード済みのパッケージをアップデートするのもグイッと!

34

Page 35: Hijiyama.R Entry session

ダウンロードと実装

• インストールするだけでは使えません。

• 「ここで装備していくかい?」=library関数

• library(psych)とするとpsychパッケージの関数群がつかえるようになります。

35

Page 36: Hijiyama.R Entry session

Rstudio)libraryもボタン一つで

装備を外す=detachもチェックボックスをオフにするだけ

36

Page 37: Hijiyama.R Entry session

Rの基本

• Rと一問一答スタイルです!

• 大文字と小文字を区別することに注意!

• 「>」この状態になっていれば会話スタートです!

37

Page 38: Hijiyama.R Entry session

Rの基本

• 四則演算をやってみましょう。

• 1+2はいくらだい?と聞いてみます。

38

Page 39: Hijiyama.R Entry session

もっともっと• 2+3,3*4,4/5,(2+6)/4などの四則演算もお茶の子さいさい

• sqrt(16)とかabs(-2),cos(30)といった関数も使えます

• 2+3i+4+5iという複素数の計算も!

• piと書くと円周率がでてきます(予約語)

• 予約語については?Constantsで調べてね

39

Tips

Page 40: Hijiyama.R Entry session

関数とヘルプ• ()で括るのを「関数」といいます。

• sqrt()もabs()もcos()も関数です。()の中に数値やデータやオプションを指定します。

• ヘルプをひくのも関数で。help(sqrt)など。

• Rを終わらせるのも関数で。q()とします。

40

Page 41: Hijiyama.R Entry session

作業スペース?• Rの記憶だと思ってください。

• 次にRを使うときに,今やったことの記憶を引き継ぎたければ「はい」を,宵越しの記憶は持たない,という人は「いいえ」を選択。

41

Page 42: Hijiyama.R Entry session

関数の書き方• 関数は,関数名(引数,引数,引数,...)のように書きます。

• 引数(ひきすう)は関数に渡したい数字やデータです。

• 引数でオプションの指定をすることもあります。

• 例)mean(x, na.rm=TRUE)

• TRUE/FALSEはスイッチのon/offを表す記号です(予約語)

Page 43: Hijiyama.R Entry session

ヘルプを使おう• 関数の意味が分からなかったら,「>」とRが聞き耳を立てているときにお伺いをたてましょう。

• help(mean) あるいは ?meanと書いてみましょう

• そうするとびっくりすることが起きるよ。

43

Page 44: Hijiyama.R Entry session

ヘルプの使い方• ヘルプは英語ですが,書式は整っているので慣れれば読めます• Description;解説

• Usage;使い方とデフォルト情報。

• Auguments;引数。与える情報。

• Details;関数の詳細。

• Value;関数が返す値。アウトプット。

• ReferenceやExampleもあります。44

Page 45: Hijiyama.R Entry session

ただの電卓じゃないよ• 数字をセットで扱えます。

• 数字のセットに名前を付けてとっておくことができます。次のように入力してみてください。

• 1:4 -> kazutan

• 「いちころんよん ハイフン だいなり かずたん」

• 「かずたん」

> 1:4 -> kazutan> kazutan[1] 1 2 3 4

45

Page 46: Hijiyama.R Entry session

一言一句解説• 一行目;

• 「いちころんよん」;1から4まで連続した数字

• 「ハイフン だいなり」;→のつもり。代入しなさい。• 「かずたん」;かずたんと名付けた箱の中に。

• 二行目

• 「かずたん」;かずたんの中身はなんなんだい?46

Page 47: Hijiyama.R Entry session

数をセットで扱える

• 次のように入力してみましょう

• 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

Page 48: Hijiyama.R Entry session

数をセットで扱うので• 当然こんなことができます。

平均は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

Page 49: Hijiyama.R Entry session

数字のセットとセットで

• 数字と数字のセットを足し合わせたりすることもできます

> 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

Page 50: Hijiyama.R Entry session

いわゆるデータの形としては

• data.frame型というスタイル

• 変数名がつけられる矩形行列

Page 51: Hijiyama.R Entry session

データフレームの例

• Irisデータをみてみましょう。baseに最初から含まれるデータセットですので,特に何もしなくても読み込まれています。

• head(iris)/tail(iris);データの最初の数行,最後の数行

• summary(iris);データの要約が表示されます。

51

Page 52: Hijiyama.R Entry session

$をつかって変数指定• データフレーム$変数名,で指定

Page 53: Hijiyama.R Entry session

$をつかって変数指定• データフレーム$新しい変数名 <- 操作,で変数作成

Page 54: Hijiyama.R Entry session

データハンドリングが山

• Rに乗り換えを考えるときに,一番大変なのがデータの加工

• これを乗り越えれば,関数の使い方は共通のフォーマットがあるし,便利な関数が山のようにある

• データハンドリングの詳細は,次の発表者にバトンタッチ!

Page 55: Hijiyama.R Entry session

Enjoy Life!

Thank you!