2010/08/17

R でデータハンドリング

データが大規模で Excel で処理ができない場合,どうしましょう.このときは Access を利用することもありますが,R でもできそうです.

舟尾さんのウェブページ(http://cwoweb2.bai.ne.jp/~jgb11101/)に資料等がありました.参考までに.

2010/07/04

ちょっと最初のメモ

R はフリーの統計ソフトです.これまでも多くのサイトや書籍があります.ここでは,竹内の個人的な観点で,備忘録的に R の使い方を紹介したいと思っています.

R を使う準備

R とは?

R とは S 言語に似ている言語を用いた統計解析を行うためのソフトウェアです.詳しくは,他のサイトや書籍を参考にしてほしいのですが,とりあえずは (1) 無料の統計ソフト (2) 基本的には CUI(キャラクターユーザインタフェース.MS-DOS とか UNIX のコマンドラインのようなインターフェース)の画面,ということを思っていただけたらと思います.

R の準備

R を手元の PC にインストールするには RjpWiki(http://www.okada.jp.org/RWiki/)のサイトを参考にしましょう.このサイトは R の日本語サイトとして非常に強力な情報サイトと思われます.特にインストールに関しては, 「主な内容」のところの「R のインストール」をクリックするとページに移動できます.

2010/05/27

カイ二乗検定

カイ二乗テストです.

まずデータを R に読み込ませます.ここでは data001 という名前にします.
> data001<-matrix(c(7,5,21,38,15,14,22,63,67,46,6,2,31,28,14,9,17,27,84,48),4,5,byrow=T) でクロス集計のデータ(この場合,5 × 4 のデータです)を R に与えます.byrow=T で横に読み込みます(試しに byrow=F とすればこの意味がわかります).c() のデータを matrix 形式で,data001 の名称で読み込ませるという意味になります. このあと > data001
と入力すれば,data001 の状態がわかります.

> chisq.test(data001)

と入力して,ピアソンのカイ二乗検定の結果をえます.カイ二乗値と自由度,p 値を求めることができます.

残差分析等は出力されませんので注意.これについては群馬大の青木先生のところ(http://aoki2.si.gunma-u.ac.jp/R/my-chisq-test.html)に表記あり.また上記についても同志社大学の金先生の資料(http://mjin.doshisha.ac.jp/R/11.pdf)をネット上で見つけることが可能です.

2009/12/27

グループごとのヒストグラムの表示

グループ属性を変数で持つデータのグループごとのヒストグラムを表現(この類は結構想定されると思いますが)する方法がデフォルトで見つけきれませんでした.

「一日いちR」(http://ichir.cocolog-nifty.com/blog/cat7061915/index.html)をみると taaply 関数が紹介されており,使ってみると確かに使えました.

他にもありますが,表示の自由度もあるはずですので,こなれないといけないですね….

IQR について(訂正)

IQR は下に四分位偏差として紹介していましたが,正しくは interquartile range で文字通り四分位範囲でした.つまり四分位範囲はこれを用いて,四分位偏差(これを使う機会が分かりませんが)は IQR/2 となります.失礼しました.

2009/11/28

ファイルを読み込ませるための作業フォルダ

ファイルを読み込ませるためには作業フォルダを知る必要があるのですが,しばらく使っていないと忘れてしまうし,また C ドライブの直下だとアクセスしづらいので,困りますね.

毎回メニューから作業ディレクトリを設定しまう….

R で階層的クラスター分析

R で階層的クラスター分析をする場合は,とりあえず生データの場合は,以下のように距離行列を求めます.

dist(sampledata) とするとユークリッド距離で,dist(sampledata)^2 となると平方ユークリッド距離が求まります.他の距離もあります.

この距離行列を用いて,階層的クラスター分析をする場合は,次のように入力します.距離と一緒に求めることもできます.

hres<-hclust(dist(sampledata[2:4])^2,"ward")

ちなみに最初の hres の部分は結果をこの変数に入れておく意味です.なくても大丈夫ですが,結果を見る際にこうしておくと楽かもしれません.また,上のデータの書き方をすると特定の変数のみ(2 列目から 4 列目のみ)を使って距離を求めることになります.

後ろの引数の "ward" は Ward 法の意味です.もちろん最短距離法,最大距離法,群平均法など有名どころは利用できます.

このあとに以下の方法をするといろいろと結果を得ることができます.

plot(hres):樹形図を表示できます.R のグラフはすべて画像として保存できます(メニューからまたは右クリックで可能).

cutree(hres,k):クラスター数を k としたときの各対象の所属グループ番号を表示.