差分
このページの2つのバージョン間の差分を表示します。
— |
mselab:2014:stat:week1:r1:prep [2014/10/21 00:16] (現在) watalu created |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ==== 実験環境 ==== | ||
+ | |||
+ | この実験テーマでは、RとExcelを使う。 | ||
+ | |||
+ | === R === | ||
+ | |||
+ | 「統計工学」では[[http:// | ||
+ | |||
+ | * 短いコマンドで様々な集計ができる | ||
+ | * 簡単にグラフが描ける | ||
+ | * コマンド入力に不自由を感じる人は、数値や集計結果をExcelに持って行くことができる。 | ||
+ | * 無料なので自分のコンピュータにインストールできて、いつでもどこでも、作業のやり直しや追加ができる(実施に場所と時間を選ばないは結構大事) | ||
+ | * コンパイル不要のプログラミング言語(インタプリタ環境) | ||
+ | |||
+ | 多少のコマンドを打つ必要があるが、多くのことは紹介したコマンドのバリエーション(変数名を変える程度)で済むので、慣れてくれるといいと思う。 | ||
+ | |||
+ | === Rのデータ格納 === | ||
+ | |||
+ | Rのデータ型は基本的には次の通りである。 | ||
+ | |||
+ | * 文字列(characters): | ||
+ | * 論理(logical): | ||
+ | * 数値(numeric): | ||
+ | * 因子(factor) | ||
+ | |||
+ | またそれらのデータ型を格納するためのオブジェクトには、次元に応じては幾つかの種類がある。 | ||
+ | |||
+ | * スカラー変数(scalar): | ||
+ | * ベクトル(vector): | ||
+ | * 行列(matrix): | ||
+ | * 配列(array): | ||
+ | * リスト(list): | ||
+ | * データ・フレーム(data.frame): | ||
+ | |||
+ | 同じ2次元配列でも、行列オブジェクトは数値しか格納できず、データ・フレームは上のすべてのデータ型のフィールドが混在していても構わない。 | ||
+ | |||
+ | 今週は様々なデータ型のフィールドからなるひとつのデータ・フレームのみを扱う。 | ||
+ | |||
+ | ==== 今週のExcel ==== | ||
+ | |||
+ | データを解析する前の状況の把握にExcelを用いる。 | ||
+ | 徐々にExcelからRに切り替えていく。 | ||
+ | |||
+ | ==== 今週のR ==== | ||
+ | === まず === | ||
+ | |||
+ | まずはさらっと、[[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | に目を通すこと。それぞれをRで実行する関数を、次で説明する。 | ||
+ | |||
+ | === Rでグラフを描く === | ||
+ | |||
+ | Rでは様々なグラフを描くことができる。グラフ描画に用いる関数を例えば「graph()」とし、 | ||
+ | グラフを描きたいオブジェクトを「data」というデータ・フレームの中の「y」というフィールド(変数)とする。 | ||
+ | この時「関数graphでデータフレームdataの中のフィールドyのグラフを描く」には、 | ||
+ | < | ||
+ | graph(data$y) | ||
+ | </ | ||
+ | というコマンドをRに入力し、実行させる。 | ||
+ | |||
+ | グラフ描画に用いる関数には次のようなものがある。 | ||
+ | |||
+ | |関数名|描くグラフ|データ・フレームの指定とモデル式の利用|データフレームの描画| | ||
+ | |barplot|棒グラフ| | | | ||
+ | |plot|散布図、折れ線グラフ|OK| | | ||
+ | |hist|ヒストグラム| | | | ||
+ | |boxplot|箱ひげ図|OK| | | ||
+ | |pie|円グラフ| | | | ||
+ | |mosaicplot|分割表(クロス集計)の図示| | | | ||
+ | |pairs|散布図行列| |OK| | ||
+ | |image|2次元配列の濃淡表示| | | | ||
+ | |persp|2次元配列の3次元グラフ| | | | ||
+ | |contour|2次元配列の等高線での図示| | | | ||
+ | |||
+ | < | ||
+ | barplot(data$y) | ||
+ | plot(data$y) | ||
+ | hist(data$y) | ||
+ | boxplot(data$y) | ||
+ | pie(data$y) | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | pairs(data) | ||
+ | </ | ||
+ | |||
+ | === Rで集計する === | ||
+ | |||
+ | 各フィールドの集計方法は、フィールドのデータ型によって異なる。 | ||
+ | |||
+ | |関数|できること|得意なデータ型|苦手なデータ型|メモ| | ||
+ | |mean|平均の計算|数値|文字、因子、論理|変換してから平均を計算させることもできる| | ||
+ | |var|分散の計算|数値|文字、因子、論理|変換してから分散を計算させることもできる| | ||
+ | |sqrt|平方根の計算|数値|文字、因子、論理|分散の平方根は標準偏差| | ||
+ | |summary|四分位(小さい方から25%、50%、75%の値)、最大最小、平均|なんでも| | ||
+ | |||
+ | フィールドの組み合わせは、連続な数値どうしなら散布図を用いるのがいい。 | ||
+ | 離散の数値(とびとびの値しかとらない)や因子、少ないバリエーションの文字列のみなら、table関数を用いると、クロス集計をしてくれる。 | ||
+ | |||
+ | |関数|できること|得意なデータ型|苦手なデータ型|メモ| | ||
+ | |cov|共分散の計算|数値|文字列、因子、論理| | ||
+ | |cor|相関係数の計算|数値|文字列、因子、論理| | ||
+ | |table|クロス集計|数値(離散)、文字列、論理、因子|数値(連続)| | | ||
+ | |||
+ | === 今週用いる関数 === | ||
+ | |||
+ | 今週は、 | ||
+ | |||
+ | * summary | ||
+ | * boxplot | ||
+ | * hist | ||
+ | * plot | ||
+ | * table | ||
+ | |||
+ | などの関数を用いて、問題に取り組む準備をする。困ったら、[[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | や、[[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | や、[[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | などを参照するといい。 | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== 今年度のテーマ === | ||
+ | |||
+ | 実際のデータをPPDACサイクルに沿って解析してみる。 | ||
+ | |||
+ | - まずはPPDまで | ||
+ | - 次はPPDAまで | ||
+ | - 最後にPPDACまで | ||
+ | |||
+ | === 前説明 === | ||
+ | |||
+ | PPDACとは | ||
+ | |||
+ | === 本説明 === | ||
+ | |||
+ | 今回のデータ。 | ||
+ | |||
+ | |||
+ | 使えないと困るものは次の3つ。 | ||
+ | |||
+ | * インターネットとインターネットブラウザ | ||
+ | * R | ||
+ | * Excel | ||
+ | |||
+ | 経営情報学実験室はインターネットに直接は接続されていない。学外のウェブサイトを利用するには、 | ||
+ | |||
+ | |プロキシサーバ|130.153.8.16, | ||
+ | |ポート|8080| | ||
+ | |ユーザ認証|なし| | ||
+ | |プロキシを経由せず直接に接続する先(Firefox)|130.153.0.0/ | ||
+ | |||
+ | をブラウザに教える必要がある。 | ||
+ | |||
+ | Rはインストール済みだが、自宅では[[http:// | ||
+ | |||
+ | Rに加えて、使えると便利なものは次の3つのいずれか、または全て。少なくともRコマンダーかEZRは、Rに慣れないうちはかなり便利に感じるはずで、それらがあれば実験に必要な作業は、マウスやメニューの操作でかなり進めることができる。 | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | 開発が進行中のソフトウェアの宿命で、Rのバージョンが変わったり、それぞれが依存しているパッケージのバージョンが変わったりすると、それに応じて挙動が変わることがある。こちらですべてのパッケージのバージョンの組み合わせをサポートするのは困難なので、紹介だけに留める。([[http:// | ||
+ | |||
+ | Rに追加パッケージをインストールするには、[[http:// | ||
+ | この大学では130.153.8.16, | ||
+ | |||
+ | < | ||
+ | Sys.setenv(" | ||
+ | install.packages(c(" | ||
+ | </ | ||
+ | |||
+ | これでうまくいく、かもしれない。 | ||
+ | |||