裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

もう少しがんばりましょう:普通では表示されないんだけど---残差分析

2013年07月29日 | ブログラミング

χ二乗検定」pdf ファイルなんだけど,

> もし有意になれば,どのセルに偏りが認められるのかという残差分析を行いたい場合も出てくるでしょう。しかしchisq.testはそれをやってくれません。

実は,いつの頃よりか,やってくれるようになりました。

> (a <- chisq.test(matrix(c(43, 72, 10, 74, 76, 23), ncol=3, byrow=TRUE)))

    Pearson's Chi-squared test

data:  matrix(c(43, 72, 10, 74, 76, 23), ncol = 3, byrow = TRUE)
X-squared = 5.8636, df = 2, p-value = 0.0533

しかし,普通には出力されず,chisq.test が返すオブジェクトを直接指定する必要があります。

> a$stdres
          [,1]      [,2]      [,3]
[1,] -1.460886  2.328938 -1.437327
[2,]  1.460886 -2.328938  1.437327

しかも,p 値は自分で計算しないといけないけど。

> pnorm(abs(a$stdres), lower.tail=FALSE)*2
          [,1]       [,2]     [,3]
[1,] 0.1440467 0.01986233 0.150625
[2,] 0.1440467 0.01986233 0.150625

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

もう少しがんばりましょう:apply 族を使い倒す

2013年07月29日 | ブログラミング

項目のチェック(3)」pdf ファイルだけど。


> まあ,「これでもいいか...」くらいの出来です。問題は for を使うと次ページの結果のように変数名が表示されないこと。間違えないようにしないと...

mapply を使うと,以下のようになります。

layout(matrix(1:4, 2))
old ← par(mar=c(4, 4, 1, 1), mgp=c(1.8, 0.8, 0))
v ← 1:4
invisible(mapply(function(x, n) hist(x, xlab=n, main=""), iris[v], colnames(iris)[v]))
par(old)
layout(1)





コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

もう少しがんばりましょう:手作業は極力省く

2013年07月29日 | ブログラミング

項目のチェック」pdf ファイルなんだけど

> ところが,v ← c("no","性別"... などと一から入力するのは,変数が多くなるととても手間...なので,簡単に作る方法を考えます。
> 先に,colnames(x)で変数名が出力されることを紹介しました。その際,変数名は"no"というように表示されたはずです。この出力を使えば,変数名を書き,さらに「"」でくくるといった作業をしなくてすみます。
> そこでまずcolnames(x)で変数名を出力させます。その結果を,コピー&ペーストでRエディタに貼り付けます。こうしておいて,後はそれを加工すればよいわけです(メニューバーの「編集」の中にある,検索,置換をうまく使えば,さらに簡単!)。

しかし,もう少し簡単にするには,dput 関数を使う。

> dput(colnames(iris))
c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")

のようになり,出力行をコピーして,

v ←

と入力した後ペーストすれば,

v ← c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")

となり,その後にリターンキーを押すだけでよい。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ダメ出し:Excel 使うな!

2013年07月29日 | ブログラミング

R であそぶ αが低いのは,項目数のせい...?」pdf ファイルなんだけど

> 相関の時と同様に,MASS パッケージに入っている mvrnorm 関数が使えるのですが,
> 10 項目だと,matrix(c(1,0.5,0.5,0.5 ... 1)と,とんでもない数(10×10)を書か なければなりません。これは面倒です...

> ということで,これをエクセルを使って作っておき,それを読み込ませるという方法でや ってみようと思います。

「Excelでやったら簡単」という理由がわからん。

r ← matrix(0.5, 10, 10)
diag(r) ← 1

でできる

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村