goo blog サービス終了のお知らせ 

Memorandums

知覚・認知心理学の研究と教育をめぐる凡庸な日々の覚書

IRT program

2007-09-20 | R
Rによる項目反応理論に関連するプログラム。

Dr Dave Thissen's Lab, University of North Carolina at Chapel Hill.
PlotIRT: A Collection of R Functions to Plot Curves Associated with Item Response Theory
By Cheryl D. Hill & Michelle Langer
L.L. Thurstone Psychometric Laboratory
The University of North Carolina at Chapel Hill

http://www.unc.edu/~dthissen/dl.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

標準正規分布の図示2

2007-09-20 | R
確率分布を図示する簡単な関数の作成。
> normd <- function (z1,z2)
+ {
+ x <- seq(-3,3,0.01)
+ plot(x,dnorm(x,mean=0,sd=1.0),type="n")
+ curve(dnorm(x,mean=0,sd=1.0),type="l",add=T)
+ xaxis <- seq(z1, z2, length=100)
+ yaxis <- c(dnorm(xaxis, mean=0, sd=1.0), 0, 0)
+ xaxis <- c(xaxis, z2, z1)
+ polygon(xaxis, yaxis, density=25)
+ ypos <- dnorm(z1, mean=0, sd=1.0)
+ text(z1, ypos,round(pnorm(z2)-pnorm(z1),digits=4), adj=0)
+ }
>

> normd(0,1)

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

四分位数をもとめる9つの方法

2007-09-19 | R
四分位数や四分領域をもとめる方法はいくつかあるが、Rでは9つのアルゴリズムが利用できる。市販のソフトやテキストでは十分の説明がないことが多いので、ソフトウェアによって値が異なる場合、初学者を混乱させることが多い。

> help(quantile)

Usage

quantile(x, ...)

## Default S3 method:
quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,
names = TRUE, type = 7, ...)

Arguments

type an integer between 1 and 9 selecting one of the nine quantile algorithms detailed below to be used.

-----
Types

quantile returns estimates of underlying distribution quantiles based on one or two order statistics from the supplied elements in x at probabilities in probs. One of the nine quantile algorithms discussed in Hyndman and Fan (1996), selected by type, is employed.

Sample quantiles of type i are defined by

Q[i](p) = (1 - gamma) x[j] + gamma x[j+1],

where 1 <= i <= 9, (j-m)/n <= p < (j-m+1)/ n, x[j] is the jth order statistic, n is the sample size, and m is a constant determined by the sample quantile type. Here gamma depends on the fractional part of g = np+m-j.

For the continuous sample quantile types (4 through 9), the sample quantiles can be obtained by linear interpolation between the kth order statistic and p(k):

p(k) = (k - alpha) / (n - alpha - beta + 1),

where α and β are constants determined by the type. Further, m = alpha + p(1 - alpha - beta), and gamma = g.


Discontinuous sample quantile types 1, 2, and 3

Type 1
Inverse of empirical distribution function.
Type 2
Similar to type 1 but with averaging at discontinuities.
Type 3
SAS definition: nearest even order statistic.


Continuous sample quantile types 4 through 9

Type 4
p(k) = k / n. That is, linear interpolation of the empirical cdf.
Type 5
p(k) = (k - 0.5) / n. That is a piecewise linear function where the knots are the values midway through the steps of the empirical cdf. This is popular amongst hydrologists.
Type 6
p(k) = k / (n + 1). Thus p(k) = E[F(x[k])]. This is used by Minitab and by SPSS.
Type 7
p(k) = (k - 1) / (n - 1). In this case, p(k) = mode[F(x[k])]. This is used by S.
Type 8
p(k) = (k - 1/3) / (n + 1/3). Then p(k) =~ median[F(x[k])]. The resulting quantile estimates are approximately median-unbiased regardless of the distribution of x.
Type 9
p(k) = (k - 3/8) / (n + 1/4). The resulting quantile estimates are approximately unbiased for the expected order statistics if x is normally distributed.


---
四分領域
> help(IQR)

Description

computes interquartile range of the x values.

Usage

IQR(x, na.rm = FALSE)
Arguments

x a numeric vector.
na.rm logical. Should missing values be removed?
Details

Note that this function computes the quartiles using the quantile function rather than following Tukey's recommendations, i.e., IQR(x) = quantile(x,3/4) - quantile(x,1/4).
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rによる正規分布の図示

2007-07-16 | R
平均100, 標準偏差10 の正規乱数(n=10000) によるヒストグラムに正規分布をあてはめる。

> x <- rnorm(10000, mean=100, sd=10)
> hist(x,freq=F)
> x1 <- 60:140
> lines(x1, dnorm(x1,100,10))

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

Rによるブーツストラップ法

2007-03-31 | R
> library(boot)
# ライブラリ「boot」をインストールする
>help(boot)

ノンパラメトリックとパラメトリック両方のブーツストラップが可能。

下記にノンパラメトリック・ブーツストラップおよびジャックナイフ法による誤差評価の簡単なデモがある。経験的密度関数から推定量の信頼区間を設定する手順が簡潔に解説されている。標本再抽出法resampling を理解するために有効。

http://cse.niaes.affrc.go.jp/minaka/R/R-resampling.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rによる分散分析:2要因被験者内計画

2007-03-23 | R
 2要因被験者内計画では、各要因、交互作用の誤差項はそれぞれの要因と被験者要因との交互作用を指定すればよい。このあたりの事情に無頓着な学生が多いのは、SPSSなどのパッケージに頼りすぎるためか。
 2要因のデータの変動は、ひとつの要因の主効果による変動と他の要因との交互作用による変動に分割できること、つまりある要因のみからの影響をうける成分とそれ以外の成分に分割できる、という簡単な論理がこの分野の基本的な考え方として重要。たとえば、要因Bをこみにして要因Aの主効果を検定する場合には、要因A×被験者要因の行列におけるデータ変動を、要因Aによる変動と要因Aと被験者要因の交互作用による変動に分割し、後者を誤差項とする。これを意識しながら分散分析をつかうべきだ。

 以下,例題は森・吉田(1990) pp.116-118 RBFpqデザインを使用した。Rについては http://personality-project.org/r/#anova 参照。

References
森・吉田(1990) 心理学のためのデータ解析テクニカルブック 北大路書房
R: Statistical Software for Psychology Research
http://personality-project.org/r/#anova

> data.ex4=read.csv("ANOVA2_2data.csv",header=T)
> data.ex4
A.B.SUB.SCORE
1 a1,b1,S1,3
2 a1,b2,S1,4
3 a1,b3,S1,6
4 a1,b4,S1,5
5 a2,b1,S1,3
6 a2,b2,S1,2
7 a2,b3,S1,3
8 a2,b4,S1,2
9 a1,b1,S2,3
10 a1,b2,S2,3
11 a1,b3,S2,6
12 a1,b4,S2,7
13 a2,b1,S2,5
14 a2,b2,S2,6
15 a2,b3,S2,2
16 a2,b4,S2,3
17 a1,b1,S3,1
18 a1,b2,S3,4
19 a1,b3,S3,6
20 a1,b4,S3,8
21 a2,b1,S3,2
22 a2,b2,S3,3
23 a2,b3,S3,3
24 a2,b4,S3,3
25 a1,b1,S4,3
26 a1,b2,S4,5
27 a1,b3,S4,4
28 a1,b4,S4,7
29 a2,b1,S4,4
30 a2,b2,S4,6
31 a2,b3,S4,6
32 a2,b4,S4,4
33 a1,b1,S5,5
34 a1,b2,S5,7
35 a1,b3,S5,8
36 a1,b4,S5,9
37 a2,b1,S5,6
38 a2,b2,S5,4
39 a2,b3,S5,5
40 a2,b4,S5,6
> aov.ex4=aov(SCORE~(A*B)+Error(SUB/(A*B)),data.ex4 )
>
> summary(aov.ex4)

Error: SUB
Df Sum Sq Mean Sq F value Pr(>F)
Residuals 4 38.150 9.538

Error: SUB:A
Df Sum Sq Mean Sq F value Pr(>F)
A 1 16.9000 16.9000 8.0958 0.04662 *
Residuals 4 8.3500 2.0875
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Error: SUB:B
Df Sum Sq Mean Sq F value Pr(>F)
B 3 19.7000 6.5667 6.0383 0.00952 **
Residuals 12 13.0500 1.0875
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Error: SUB:A:B
Df Sum Sq Mean Sq F value Pr(>F)
A:B 3 30.5000 10.1667 7.0725 0.005413 **
Residuals 12 17.2500 1.4375
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
>
コメント (7)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rによる心理統計

2007-02-11 | R
心理学研究におけるRの利用例。
ソースとサンプルデータが利用可能で、図示などの例もある。

Analysis of variance
・one and two way between subjects
・one and two way within subjects
など。SEMもあるが、未確認。

R: Statistical Software for Psychology Research
http://personality-project.org/r/
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rによる分散分析

2007-02-10 | R
Rによる生物統計学分野での分散分析の例。講義資料にソースコード、データが用意されていて丁寧。本家だけに、乱塊法やSplit-plotの例が参考になる。
*大統計大曼荼羅(統計人生スゴロク)は笑える。

租界Rの門前にて   統計言語「R」との極私的格闘記録
http://cse.niaes.affrc.go.jp/minaka/R/R-top.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

統計処理ソフトウェアRについてのTips

2006-06-22 | R
 統計処理RのためのTipsサイト。SPSSなどのパッケージを使うことのデメリットはいくつかあるだろうが、価格(心理学に必要なOption を含めるとさらに高額になる)、デフォルトの設定が最新でも適切でもないことがあること、などがあろう。もちろん初心者には視覚的にわかりやすい(ように見える)インターフェイス、豊富なマニュアル類、などはメリットであろうが、これも統計的な内容を充分に理解することなく使う傾向を助長するとすれば、問題かもしれない。また何でもSPSSに頼ろうとする、あるいはSPSSが無ければ何もできない(しない)、という態度はさらに問題だろう。
 これに対してRのメリットは無料であること、オープンソースであること、共同でさまざまな処理プログラム/関数が作成されていること、などのほかに、その高機能と使いやすさ、わかりやすさをあげることができる。マトリックスを意識しながら処理すれば、かえって理解は深まるかもしれない。理工系や医学生物学の分野での教育に使用されている例が多いことが、その長所を裏付けている。工学系のデフォルトスタンダードともなりつつあるMatlabなどとも共通する汎用性のある考え方は、Rの特徴であろう。デメリットをあげるならば、簡単なプログラムを必要とするので全くの初心者には敷居が高いかもしれないこと、日本語のマニュアルが現在ではまだ少ないこと、英語での理解が多少求められること、などだろうが、これも和書の解説書が増えつつあるので今後改善されると思われる。
 現時点でいくつかのデメリットはあっても、フリーで高機能なデータ処理環境を身近につくることができるメリットは大きい。数量化などの多変量解析や分散分析などでも、かえって使いやすい点も多い。t検定などの簡単な統計処理ならば1行のコマンドで済む関数が用意されているので、ExcelやSPSSなどより簡単だとも言える。今後普及することが予想される。学生の皆さんにもすすめたい。ネックがあるとすれば、ソフトウェアのインストールを自分で行わないとか、統計やコンピュータの操作をひとから教えてもらおうとする態度であろうか。これらを克服する教育環境("文化")が求められるだろう。

References
統計処理ソフトウェアRについてのTips
http://phi.ypu.jp/swtips/R.html

無料統計ソフトRで心理学 -Passepied-
http://cat.zero.ad.jp/~zak52549/R.html

R on Windows
http://plaza.umin.ac.jp/~takeshou/R/

R による統計処理
http://aoki2.si.gunma-u.ac.jp/R/

研究者の書棚:統計関連書籍
http://www.kenkyuu.net/books-04.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

関数の定義

2006-06-08 | R
例)分散分析(2要因ASB:混合計画)
>ASB <- function(data)
次に、
+表示に続けて
+{
n.i <- apply(data, c(3, 2), length)
grand.mean <- mean(data)


+}
>
以下、実行。
>data <- array(c(4, 4, 5, 3, 4, 4, 6, 6, 4, 3, 4, 3, 5, 6, 7, 5, 4, 4), dim=c(3, 3, 2))
> ASB(data)


References
http://aoki2.si.gunma-u.ac.jp/R/ASB.html

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

R による統計処理:多重比較

2005-12-07 | R
ボンフェローニの方法および関連する手法による多重比較 

下記ページの
data
group
を入力した後,ソースコードを貼付けて実行できる。

References
青木研究室(群馬大学)
ボンフェローニの方法および関連する手法による多重比較
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

R による統計処理--データなどの入出力法

2005-11-07 | R
1. 作業ディレクトリを指定する
"Misc" メニューから,"Change Working Directory..." を選択し,作業ディレクトリを選ぶ。

2. テキストファイルからデータを読む
(データはテキストファイルとして用意するほうが汎用性が高い)
個々の変数の値が区切り文字(タブ,スペース,カンマなど)で区切られているテキストファイルからデータを読み込む
> x <- read.table("out.data", header=FALSE)
> x
1 行目からデータならば,header=FALSE

References
R による統計処理--データなどの入出力法
http://aoki2.si.gunma-u.ac.jp/R/io/index.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

R による統計処理

2005-11-06 | R
References
青木繁伸(群馬大学) R による統計処理
http://aoki2.si.gunma-u.ac.jp/R/index.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

R demo()

2005-11-02 | R
R のさまざまな機能のデモdemo(), demo(テーマ)
R は様々な機能についてまとめて紹介するためのデモ機能を持つ。現在可能なテーマについては demo() で一覧できる。各テーマについては例えば demo(image) 等で実行する。

References
RjpWiki - RjpWiki
http://www.okada.jp.org/RWiki/index.php?RjpWiki
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする