2012/02/02
R のデータの利用
R にも多数のサンプルデータが含まれています.もちろんコマンドでそれらのリストや読み込みができます.ただ慣れていないと忘れてしまいそうですので,こういうときは Rcmdr を使いましょう.
まずさっと使えるデータのリストを確認しましょう.いつもの通り,Rcmdr を起動します.
次に「データ」>「パッケージ内のデータ」>「パッケージ内のデータセットの表示」を選びます.するとデータのリストが別ウィンドーで表示されます.それぞれ含まれるパッケージとデータセット名,および簡単なデータの概要を確認することができます.スクリプトウィンドウを見ますと「data()」と書かれていますので,このコマンドで実行されることもわかります.
実際にデータセットの読み込み(インポート)は,「データ」>「パッケージ内のデータ」>「アタッチされたパッケージからデータセットを読み込む…」を選びます.
“パッケージからデータを読み込む”ダイアログがでますので,該当するパッケージとデータセット名をダブルクリックで選び,「OK」をクリックします.これで読み込まれていますので,確認のために「データセットを表示」をクリックしてデータを見ることができます.
自分でデータを入力することが多いと思いますが,このようなデータで R の練習もありでしょうね.
2012/01/26
R での二項分布の確率表示
R では二項分布に関する関数がいくつかありますが,Rcmdr を使うとメニューから選べます.
「分布」>「離散分布」>「2項分布」には裾の確率を求めたり,確率のリストを求めたり,確率のグラフを書いたりできるメニューがあります.
裾の確率は成功数(出現数?)の下側確率で求めていますので,上側確率を求めるときはオプションで変更できますが,注意しましょう.一つイメージとずれるかもしれません.
上記のことを確認する意味で確率のリストを出して,Excel に貼り付けても確認できます.スペース区切りで出力されるので,Excel では,「データ」リボンの「データツール」のグループの「区切り位置」ボタンで使いやすくなります.
確率を描画する場合は,形がみえる部分(確率が 0 に近いところは非表示)になるため,必要に応じて調整しましょう.
Rcmdr 全般で言えますが,一度メニューから一度出力し,その後,スクリプトウィンドウに書かれたコマンドをいじるとスマートにできると思います.今回は,最初に書かれる「.x <- **:**」の部分をいじれば表示される区間を変えられます.
ちなみに教科書で書かれるような事象(さいころなど)の確率の場合,1/6 のように分数で書きたいのですが,式表現は Rcmdr の入力フォームでは使いづらいので,こういう場合には上記の”書き直し”の方法が使いやすいと思います.グラフの表示文言も書き直せます.
「分布」>「離散分布」>「2項分布」には裾の確率を求めたり,確率のリストを求めたり,確率のグラフを書いたりできるメニューがあります.
裾の確率は成功数(出現数?)の下側確率で求めていますので,上側確率を求めるときはオプションで変更できますが,注意しましょう.一つイメージとずれるかもしれません.
上記のことを確認する意味で確率のリストを出して,Excel に貼り付けても確認できます.スペース区切りで出力されるので,Excel では,「データ」リボンの「データツール」のグループの「区切り位置」ボタンで使いやすくなります.
確率を描画する場合は,形がみえる部分(確率が 0 に近いところは非表示)になるため,必要に応じて調整しましょう.
Rcmdr 全般で言えますが,一度メニューから一度出力し,その後,スクリプトウィンドウに書かれたコマンドをいじるとスマートにできると思います.今回は,最初に書かれる「.x <- **:**」の部分をいじれば表示される区間を変えられます.
ちなみに教科書で書かれるような事象(さいころなど)の確率の場合,1/6 のように分数で書きたいのですが,式表現は Rcmdr の入力フォームでは使いづらいので,こういう場合には上記の”書き直し”の方法が使いやすいと思います.グラフの表示文言も書き直せます.
2011/12/30
クロス集計データの独立性の検定
クロス集計をすでにしたデータの独立性の検定を Rcmdr でするときは,「統計量」>「分割表」>「2元表の入力と分析」を使うとできます.
行数と列数も変更でき,ここで項目名も入力できます.またパーセントも出せます.オプションとしては,フィッシャーの正確検定(正確確率検定?,Exact test?)やそれぞれの要素の検定もできる(と思います).
行数と列数も変更でき,ここで項目名も入力できます.またパーセントも出せます.オプションとしては,フィッシャーの正確検定(正確確率検定?,Exact test?)やそれぞれの要素の検定もできる(と思います).
2011/11/25
2011/11/19
R および Rcmdr での欠測値を含めるデータの扱いの覚書
R および Rcmdr でのデータの要約値を求める方法の覚書です.詳しくは書籍等を参照してください.
Excel 等でデータを入力してから R および Rcmdr でデータを読み込むことをこれまで紹介してきましたが,欠測値を NA で入力するよりは,使っていないコード番号や「-」など一つの半角文字で入力したほうがしやすいでしょう.この場合,欠測値の記号を「-」で設定するともちろん可能です.
R および Rcmdr でのデータの要約値を求める方法の覚書
R および Rcmdr でのデータの要約値を求める方法の覚書です.詳しくは書籍等を参照してください.
- Excel を起動,データを入力.この場合,変数名を入力し,欠測値は NA と表記.桁数のカンマは使わない方が Rcmdr での読み込みで無難.
- データの範囲をコピー.
- R および Rcmdr を起動.
- 「データ」>「データのインポート」>「テキストファイルまたはクリップボード,URL から…」を選択.
- 欠測値の記号は「NA」のまま,データファイルの場所は「クリップボード」,フィールドの区切り記号「タブ」で「OK」をクリック.
- 「データ」>「アクティブデータセット内の変数の整理」>「数値変数を因子変換」を選択.
- “変数”で変換したい 1 つまたは複数の変数を選択し,“因子水準”ではコードを言葉に変えたいときは「水準名を指定」を選び,数値のままにする場合は「数値で」を選び,また新しい変数を作る場合は,“新しい変数名または複数の変数に対する接頭文字列”で新しい変数名を入力して「OK」をクリック.複数の変数を選んだ場合は,入力した名称が接頭語になる.この場合,複数の変数であっても同じコードで同じ言葉になるため注意が必要.
- 水準名を指定をえらんだときは,対応する言葉を入力.
- 「統計量」>「要約」>「アクティブデータセット」を選択.
R および Rcmdr での 2 標本の母平均の差の検定の覚書
R および Rcmdr での 2 標本の母平均の差の検定の覚書です.詳しくは書籍等を参照してください.
- Excel を起動,データを入力.この場合,変数名を入力し,欠測値は NA と表記.桁数のカンマは使わない方が Rcmdr での読み込みで無難.
- データの範囲をコピー.
- R および Rcmdr を起動.
- 「データ」>「データのインポート」>「テキストファイルまたはクリップボード,URL から…」を選択.
- 欠測値の記号は「NA」のまま,データファイルの場所は「クリップボード」,フィールドの区切り記号「タブ」で「OK」をクリック.
- 「データ」>「アクティブデータセット内の変数の整理」>「数値変数を因子変換」を選択.
- “変数”で変換したい 1 つまたは複数の変数を選択し,“因子水準”ではコードを言葉に変えたいときは「水準名を指定」を選び,数値のままにする場合は「数値で」を選び,また新しい変数を作る場合は,“新しい変数名または複数の変数に対する接頭文字列”で新しい変数名を入力して「OK」をクリック.複数の変数を選んだ場合は,入力した名称が接頭語になる.この場合,複数の変数であっても同じコードで同じ言葉になるため注意が必要.
- 水準名を指定をえらんだときは,対応する言葉を入力.
- 「統計量」>「平均」>「独立サンプル t 検定」を選択.
- “グループ”では水準の変数を選び,“目的変数”では比較したい変数を選び,“対立仮説”では検定方式(両側,片側(差 <0,差 >0)),“信頼水準”では 1 - 有意水準の値として 5% なら 0.95,“等分散と考えますか?”では等分散を仮定するか否かを考え,選択し,「OK」をクリックする.
以上で,t 値,自由度(df),p 値,各水準の平均等が求められ,95% 信頼区間等も表示される.
R および Rcmdr でのクロス集計および独立性の検定の覚書
R および Rcmdr でのクロス集計および独立性の検定の覚書です.詳しくは書籍等を参照してください.
- Excel を起動,データを入力.この場合,変数名を入力し,欠測値は NA と表記.桁数のカンマは使わない方が Rcmdr での読み込みで無難.
- データの範囲をコピー.
- R および Rcmdr を起動.
- 「データ」>「データのインポート」>「テキストファイルまたはクリップボード,URL から…」を選択.
- 欠測値の記号は「NA」のまま,データファイルの場所は「クリップボード」,フィールドの区切り記号「タブ」で「OK」をクリック.
- 「データ」>「アクティブデータセット内の変数の整理」>「数値変数を因子変換」を選択.
- “変数”で変換したい 1 つまたは複数の変数を選択し,“因子水準”ではコードを言葉に変えたいときは「水準名を指定」を選び,数値のままにする場合は「数値で」を選び,また新しい変数を作る場合は,“新しい変数名または複数の変数に対する接頭文字列”で新しい変数名を入力して「OK」をクリック.複数の変数を選んだ場合は,入力した名称が接頭語になる.この場合,複数の変数であっても同じコードで同じ言葉になるため注意が必要.
- 水準名を指定をえらんだときは,対応する言葉を入力.
- 「統計量」>「分割表」>「2元表」を選択.
- “行の変数”“列の変数”をそれぞれ選び,必要に応じて,“パーセントの計算”,“仮説検定”のオプションにチェックし,「OK」をクリック.※“部分集合の表現”は分からなかった.“パーセントの計算”では,属性を考えたい変数のパーセントを,“仮説検定”では“独立性のカイ2乗検定”と“期待度数の表示”を選ぶことを紹介したい.
2011/07/21
TeachingDemos を使ってみる
R には統計教育のパッケージもあるとある先生から聞いていましたが,TeachingDemos もその一つのようです.
見てみると中心極限定理や顔型グラフなどの表示などできそうです.マニュアルもありますので,今後使ってみたいと思います.
とりあえず見つけたのは以下の CRAN のサイトです.
http://cran.r-project.org/web/packages/TeachingDemos/index.html
見てみると中心極限定理や顔型グラフなどの表示などできそうです.マニュアルもありますので,今後使ってみたいと思います.
とりあえず見つけたのは以下の CRAN のサイトです.
http://cran.r-project.org/web/packages/TeachingDemos/index.html
2011/07/16
Rcmdr で水準の指定
Rcmdr で年度別のデータを比較する際,変数名が数値だと水準に見てもらえないときがあるのので,変更します.変更するときはデータのところで変数の変換的なものがあります.今度またよく見ておきます….
ちなみに変数名は英数字が最初にないといけないため,単純に「2000 年」とかにはできないみたいですね….
ちなみに変数名は英数字が最初にないといけないため,単純に「2000 年」とかにはできないみたいですね….
2010/12/19
Rcmdr ってやっぱり便利ですね
Rcmdr は R に GUI をもたらすパッケージですが,久しぶりに使うと便利ですね.メニューからいろいろなものが選らべ,コマンドを忘れた場合や変数をイメージに近い形で選択することが可能です.もちろん CUI で問題ない人は不要と思いますが….
使い方はいろいろなサイトに書かれていますんで,詳しくはそちらを見てもらいたいですが,メモ的に書きますと以下の通りです.
1.R を起動します.
2.メニューの「パッケージ」>「パッケージの読み込み…」を選択します.
3.メニュー画面がでますので,「Rcmdr」を選択し,「OK」をクリックします.
これで Rcmdr が起動します.画面上部のデータセットの部分でアクティブにしたいデータを選んだら,そのデータに対して,いろいろと分析ができます.
本当にこのような便利なツールを使いながらデータ分析の授業ができればと思います.
使い方はいろいろなサイトに書かれていますんで,詳しくはそちらを見てもらいたいですが,メモ的に書きますと以下の通りです.
1.R を起動します.
2.メニューの「パッケージ」>「パッケージの読み込み…」を選択します.
3.メニュー画面がでますので,「Rcmdr」を選択し,「OK」をクリックします.
これで Rcmdr が起動します.画面上部のデータセットの部分でアクティブにしたいデータを選んだら,そのデータに対して,いろいろと分析ができます.
本当にこのような便利なツールを使いながらデータ分析の授業ができればと思います.
2010/11/14
データのクロス集計と検定
とりあえずデータを読みこませておきます.以下ではデータ名を shimadadata とします.
まずクロス集計は "table(shimadadata[[2]],shimadadata[[15]])" で変数 shimadadata[[2]] と変数 shimadadata[[15]] のクロス集計ができます.[[i]] の i の部分は列(変数)の番号を表し,変更すればもちろん該当する変更後のクロス集計が求められます.ちなみに "addmargins(table(shimadadata[[2]],shimadadata[[15]]))" とすると合計も合わせて求められます.
次にこのクロス集計の独立性の検定は "chisq.test(table(shimadadata[[2]],shimadadata[[15]])" で変数 shimadadata[[2]] と変数 shimadadata[[15]] の独立性の検定ができます.[[i]] の i の部分は列(変数)の番号を表し,変更すればもちろん該当する変更後の独立性の検定が求められます.
他にももっと効率的な方法があると思います.あくまで参考までに.
まずクロス集計は "table(shimadadata[[2]],shimadadata[[15]])" で変数 shimadadata[[2]] と変数 shimadadata[[15]] のクロス集計ができます.[[i]] の i の部分は列(変数)の番号を表し,変更すればもちろん該当する変更後のクロス集計が求められます.ちなみに "addmargins(table(shimadadata[[2]],shimadadata[[15]]))" とすると合計も合わせて求められます.
次にこのクロス集計の独立性の検定は "chisq.test(table(shimadadata[[2]],shimadadata[[15]])" で変数 shimadadata[[2]] と変数 shimadadata[[15]] の独立性の検定ができます.[[i]] の i の部分は列(変数)の番号を表し,変更すればもちろん該当する変更後の独立性の検定が求められます.
他にももっと効率的な方法があると思います.あくまで参考までに.
R での現在のディレクトリの確認
R での現在のディレクトリを表示する関数は GETWD() です.ファイルを読み込むときにたまに知りたくなるのでメモです.
これでいつもの「shimadadata<-read.csv("shimada_data.csv",header=T)」などをすれば読みこめます.
これでいつもの「shimadadata<-read.csv("shimada_data.csv",header=T)」などをすれば読みこめます.
2010/08/17
R でデータハンドリング
データが大規模で Excel で処理ができない場合,どうしましょう.このときは Access を利用することもありますが,R でもできそうです.
舟尾さんのウェブページ(http://cwoweb2.bai.ne.jp/~jgb11101/)に資料等がありました.参考までに.
舟尾さんのウェブページ(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 のインストール」をクリックするとページに移動できます.
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)をネット上で見つけることが可能です.
まずデータを 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 関数が紹介されており,使ってみると確かに使えました.
他にもありますが,表示の自由度もあるはずですので,こなれないといけないですね….
「一日いち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 としたときの各対象の所属グループ番号を表示.
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 としたときの各対象の所属グループ番号を表示.
登録:
投稿 (Atom)