Kandai R 入門者講習
Transcript of Kandai R 入門者講習
【入門者講習】@kosugitti
.
自己紹介• なまえ;小杉考司( Twitter @kosugitti)• しょぞく;山口大学教育学部小学校コース• せんもん;社会心理学,または心理学的統計法• けいれき;社 94-553 / 関西学院大学→山口大学
トリスなう
ってなんですか• 最近あちこちで聞くことが多くなってきたけど,• 統計ソフトなの?統計環境なの?• 何ができるの?なんか難しくないの?
ってなんですか• 統計ソフトなの?統計環境なの?
• 統計処理は「なんでも!」できます。• プログラマにとっては集計,分析,報告書作成まで全部できるので統計環境=プログラム言語です• 大学の研究者にとっては統計ソフト☆という理解で結構です。
ってなんですか• 統計ソフトなら間に合ってるよ!という人に
• SASや SPSSが を取り込み始めました。• 統計ソフトとしては商用ソフトよりも数年先を行きます。
の特徴• オープンなフリーソフトウェアでどんどん成長• 情報がネットなどでじゃんじゃん公開されている• サンプルコード,サンプルデータが豊富• 8000を超えるパッケージでぐんぐん拡張!
パッケージがすごい• 基本システムに加えて,専門的な分析をするパッケージがネットを通じて公開されている• ボタンひとつでネットから新しいパッケージ=新しい分析技術を入手出来る• 専門家もこぞって開発&公開する• 最新の分析技術があなたのすぐ手の中に!!
this is
の特徴• CUI…Command User Interfaceあるいは Character User
Interfaceとはコンピュータにおいて、キーボードを用いて入力を行い文字によって出力を行う様式のユーザインタフェースである。
CUIの短所• 短所;
• スペルミスすると動かない。• 特に Rは大文字と小文字も区別する• 日本語文字は得意じゃない=半角英数だけで書く• なんかプログラマみたいにみえるやん
CUIの長所• 長所;
• コードがあればどこででも動く• 自分が何をやっているかがはっきりわかる
• 「何をやってどうなったかわからない」という質問に具体的かつ的確に答えられる• なんかプログラマみたいにみえるやん
それでもやっぱりやだよぉぉぉ ?
そんなあなたに
こんなのもあるよ
Rコマンダーといいます• これも Rのパッケージのひとつ• Rコマンダーの追加パッケージもたくさん!• とりつきにくいと思う人はこれから始めても OK
Rコマンダーの中身は1.ここにコードを書く
3.ここに結果が出る
2.押す
プレーンな だと同じ画面に両方出る
Rコマンダーも悪くない• Rコマンダーは代筆パッケージのようなものです• ある程度プログラム勘がある人はここから始めてもいいかも。でもすぐに「美しくない」と自分で書き始めると思います(体験談)。そんな人は・・・• CUIに抵抗がある人もここからでいいですが, CUIの長所を生かすことを考えるなら・・・
圧倒的にオススメします
と
の組み合わせ
どうちがうの?は統合開発環境 (IDE)と呼ばれるもの。
の中で を動かして,使いやすくしてくれるもの。
を
があると• コード補完機能などコードが書きやすくなる!• 増えがちなファイルの管理も簡単に!• パッケージのインストールもクリック一つで OK!• レポート作成など文書作成機能も充実!
一旦ここでまとめ• はとても良いものです。
• どんどん成長するみんなのフリーソフトウェア• 専門家もユーザーも。これからの統計プラットフォーム• 入門書やユーザーの活動もあちこちで! join us!
それでは実際に使ってみましょうPCをご準備くださいね
を始めるのに必要な環境
• パソコン(WindowsでもMacでも Linuxでも )
• インターネット環境(ネットで色々とってきます)
を導入しよう• 「 R」だけでは検索できないので,「 CRAN」といれましょう。
2016.06.08現在
「管理人として実行」したほうが良いかと
Console調理場
Scriptここでレシピを展開 Workspace/History
シンク/カメラ
Files/Plots/Packages/HelpFiles 冷蔵庫/ Plot ブログ用画像Package 調味料/ Help レシピ本
基本 4領域
使い始める前に
タイトルバーにフォルダ情報があればプロジェクト準備 OK
プロジェクト管理の利点• ファイルがあちこちに拡散しない• プロジェクトごとにワークスペース( Rの記憶)が保持できる• Working Directoryが自動的に設定される(パスが短くて済む)• R単体だと setwd関数で指定する
完全に一致
他にも便利な機能がいっぱい• 関数補完機能( TABキー)• Sourceから Consoleへ (Run), Historyから
Consoleや Sourceへ• 実行してうまく行ったものを Sourceに保存=清書• プロットした図の出力(サイズ変更や Clipboard出力, File出力)
順番にやっていきましょう
Console調理場
Scriptここでレシピを展開レシピを書いて調理場に持っていく
アクティブなカーソルがどこにあるか注意してね
レシピを書いて
調理場に持っていくと
できた☆
Historyタブも便利毎回の実行記録が残ります
コンソール(調理場)やソース(レシピ帳)に持っていくことも可能。
四則演算
一行ごと実行される
実行待ち状態
四則演算ここのプラスは「まだ終わってませんよね?」の意
保存しておこう
関数こそ醍醐味
関数がいーっぱい• 関数は,関数名(引数,引数,引数, ...)のように書きます。• 引数(ひきすう)は関数に渡したい数字やデータです。• 引数でオプションの指定をすることもあります。• 例)mean(x, na.rm=TRUE)
• TRUE/FALSEはスイッチの on/offを表す記号です
Helpも関数
英語きらい?• ヘルプは英語ですが,書式は整っているので慣れれば読めます• Description;解説• Usage;使い方とデフォルト情報。• Auguments;引数。与える情報。• Details;関数の詳細。• Value;関数が返す値。アウトプット。• Referenceや Exampleもあります。
ただの電卓じゃないよ• 数字をセットで扱えます。• 数字のセットに名前を付けてとっておくことができます。次のように入力してみてください。• 1:4 -> kandai
• 「いちころんよん ハイフン だいなり かんだい」• 「かんだい」
一言一句解説• 一行目;
• 「いちころんよん」; 1から 4まで連続した数字• 「ハイフン だいなり」;→のつもり。代入しなさい。• 「かんだい」;かんだいと名付けた箱の中に。
• 二行目• 「かんだい」;かんだいの中身はなんなんだい?
数字のセットなので平均の関数mean標準偏差の関数 sd
相関の関数 cor
関数電卓かよ!• という人のために。作図もできるのです。
でもまだ○ xcelに負けてるね!• という人のために,今から色々紹介していきますが,• ひとまず demo(graphics)と入力してみないか?!• 数値の行列処理,作図能力,なかなかですよ
行列• 表計算ソフトはベクトルの計算はできても行列計算は苦手なわけでして・・・• 次のように入力してみましょう
要素にアクセス• 出力の周辺に, [,1]とか [2,]とかありましたね。• アレがそのまま,行列アクセスのヒントになっています。
行列の計算?• mat1 -2とかmat1*1とか。ベクトルと同じで要素全てに処理。• 行列とベクトルのかけ算とか,行列と行列の足し算とか・・・は必要なんだけど,算数の授業じゃないのでパス!
データの形は• 基本は矩形• では data.frame型といいます。変数名がつけられる行列です。• サンプルデータを読み込んでみましょう。
データの最初の数行を見せる head関数データの要約を見せる summary関数
$で変数指定
• 新しい変数を指定すると作られます$で変数指定
最初につまづきそうなのは• 乗り換えるときに一番大変なのがデータの加工• 幾つかのポイントをご紹介
• ファイルからデータを読み込む• 先ほどの「新しく変数を作る」• データの一部を抜き出す
データはどこ?• 多くの場合,データはファイルとして 外部にありますよね。• プロジェクトフォルダの中に入れましょう。• データはカンマ区切り,タブ区切りのテキスト形式で保存してください。
読み込むのも関数ね• 代入先←関数名(ファイル名,ヘッダ,欠損値)• delim;テキストファイル, csv;カンマ区切り• ファイル名を直接指定するか file.choose関数
• 一行目に変数名あり= TRUE,なし= FALSE• 欠損値は文字,記号等を指定する
hoge1 <- read.delim("sample.dat",head=TRUE,na.strings="*")hoge2 <- read.csv("sample.csv",head=TRUE,na.strings=".")hoge3 <- read.csv(file.choose(),head=FALSE,na.strings="9")
中身なぁに?• 読み込んだものは data.frame型になっています。• オブジェクトの中身,構造を見たいときは str関数
データの一部を抜き出す
あとは組み合わせ
調理例
モデルの表記法• 関数の意味やモデルの詳細はヘルプに譲るとして・・・• 独立変数(説明変数)と従属変数(被説明変数,目的変数)の関係を表す formulaを知っておくと,少しばかり捗ります。• 従属変数〜独立変数+独立変数・・・という書き方をします。
モデルの表記法上から順に,分散分析,回帰分析,重回帰分析,因子分析因子分析は従属変数がないことがわかる
ピリオドは「データセット内のすべての変数」iris[,-5]は 5列目は削除してね,という意味
Tips
あとはパッケージ!
ダウンロードと実装• インストールするだけでは使えません。• 「ここで装備していくかい?」= library関数• library(psych)とすると psychパッケージの関数群がつかえるようになります。
逆に悩ましい• パッケージは 8000以上!• どれを使っていいのかわからない・・・• そういうときは,「領域ごとに関係あるパッケージをまとめてインストールしちゃうパッケージ」を使うといいでしょう
ネットは広大だわ• 何を,どう使うか,色々調べるヒントがあります• Rjpwiki;日本語の R情報がここに集結• 手前味噌ですが「山口大学教育学部教育心理学コース」のサイトには動画やテキストが公開されています。
• http://psycho.edu.yamaguchi-u.ac.jp/ へGo!
• 専用検索サイト, seekRも
テキストも充実してきました
宣伝
Enjoy
thank you@kosugitti
.