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

Memorandums

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

R ltm: Latent Trait Models under IRT

2010-02-24 | R
ltm: Latent Trait Models under IRT
by Dimitris Rizopoulos

サイトが変わったのか?
http://rwiki.sciviews.org/doku.php?id=packages:cran:ltm
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Confidence Interval for R-squared

2010-01-12 | R
R-squaredの信頼区間をもとめる関数。パッケージpsychometricとmultilevelを利用する。
デフォルトは95%CIで、n>60の時の近似である。
http://rss.acs.unt.edu/Rdoc/library/psychometric/html/CI.Rsq.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで共分散構造分析 2

2009-12-16 | R
Rで共分散構造分析を行った例。パッケージの使い方から出力までわかりやすい解説が提供されている。
http://www.nanzan-u.ac.jp/~kamiya/r/sem.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rによる心理統計入門12:グループ別の記述統計

2009-11-12 | R

グループ別に平均値などの記述統計をもとめる場合、たとえば性別Aごとの得点yの平均値ならば
tapply(y,A,mean)
が最も基本的。
なお、性別Aと学年Bを組み合わせるならば、
> b1 <-x[x$B=="1",]
> attach(b1)
などと、Bの1群のみ取り出し、さらにtapply()を使えばよい。
あるいは、
> a1b1 のように、組み合わせを直接指定することもできる。
また、
subset()
も可。

cf.
医学情報処理演習(群馬大、中澤氏)
http://phi.med.gunma-u.ac.jp/medstat/

 

追記 2015/09/29

list()を使えば簡単

> tapply(y,list(A,B),mean)

 

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

Rによる心理統計入門11:クロス集計とカイ二乗検定

2009-11-05 | R
初歩にもどって、学生がよくつかうクロス集計とカイ二乗検定の例を。

table()でクロス集計、chisq.test()で検定をおこなう。


> X <- read.csv("CROSS.csv",header=T)
> X
test1 test2
1 a 1
2 a 2
3 b 2
4 b 2
5 a 1
6 b 2
7 a 1
8 a 2
9 b 2
10 b 2
11 b 1
12 a 2
13 b 1
14 a 1
15 b 1
16 a 1
17 a 1
18 b 2
19 b 2
20 a 1
> attach(X)
> CT<-table(test1,test2)
> CT
test2
test1 1 2
a 7 3
b 3 7
> chisq.test(CT)

Pearson's Chi-squared test with Yates' continuity correction

data: CT
X-squared = 1.8, df = 1, p-value = 0.1797

イェーツの修正をしない場合、
> chisq.test(CT,correct=F)

Pearson's Chi-squared test

data: CT
X-squared = 3.2, df = 1, p-value = 0.07364

>

なお、分割表から元のデータを再現したいならば、以下参照。
R -- 分割表から元データを再現
http://aoki2.si.gunma-u.ac.jp/R/tenkai.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで数量化3類

2009-10-20 | R
Rでコレスポンデンス分析(数量化3類)の実施例。

庭景観写真の評価:数量化3類
http://lbm.ab.a.u-tokyo.ac.jp/~omori/ques_axis.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MDS by R

2009-10-20 | R
いずれもRに用意されているirisデータを使用している。

広島大学/佐藤健一氏(計量生物)
Rのスクリプト資料
探索的データ解析(主成分分析, 多次元尺度法, クラスタリング, 分類木, 回帰木)
http://home.hiroshima-u.ac.jp/ksatoh/documents/Rexp.txt


同志社大学/金明哲氏
Rと多次元尺度法
http://www1.doshisha.ac.jp/~mjin/R/27.pdf
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

球面性の検定 by R

2009-10-18 | R
Rで被験者内要因のANOVAを行う際のいわゆる球面性の検定。以下の例を参照。
>example(mauchly.test)

Wとp値を算出する。
データ例の解説は、以下。形式は、被験者×要因(被験者内)の行列。
Notes on the use of R for psychology experiments and questionnaires
http://cran.r-project.org/doc/contrib/Baron-rpsych.pdf
p31 以降に反応時間の実験データ例がある。

εについては別に計算。
cf.
RjpWiki: 反復測定ANOVA & 球面性の検定

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

psych パッケージ

2009-09-22 | R
psych(パーソナリティ、精神測定及び心理学研究 )パッケージ中のオブジェクト一覧
RjpWiki


cf.
Rの基本パッケージ中の多変量解析関数一覧 - RjpWiki
RjpWiki

Rによる因子分析法の比較
http://d.hatena.ne.jp/kosugitti/20090604/1244111621
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PARAFAC & R

2009-09-22 | R
FactoMineR
http://factominer.free.fr/
Windows とLinux version がある。

参考文献
Journal of Statistical Software
Authors: Sébastien Lê, Julie Josse, François Husson
Title:FactoMineR: An R Package for Multivariate Analysis
Reference: Vol. 25, Issue 1, Mar 2008
Submitted 2007-04-05, Accepted 2008-01-09
http://www.jstatsoft.org/v25/i01
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

IRT: BILOG-MG,R, およびEasyEstimation間の比較

2009-08-25 | R
以下にIRTをBILOG-MG,R,およびEasyEstimationで実行した場合の比較がある。

http://irtanalysis.main.jp/note/hikaku.htm

Rについては、
Rで項目反応理論(RjpWiki)
を参照している。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで検定力分析

2009-08-20 | R
分散分析の検定力分析をRで行うことができる。
power.anova.test()
を利用。exampleを見ればわかりやすいだろう。

> example(power.anova.test)

pwr.n.> power.anova.test(groups=4, n=5, between.var=1, within.var=3)

Balanced one-way analysis of variance power calculation

groups = 4
n = 5
between.var = 1
within.var = 3
sig.level = 0.05
power = 0.3535594

NOTE: n is number in each group


pwr.n.> # Power = 0.3535594
pwr.n.>
pwr.n.> power.anova.test(groups=4, between.var=1, within.var=3,
pwr.n.+ power=.80)

Balanced one-way analysis of variance power calculation

groups = 4
n = 11.92613
between.var = 1
within.var = 3
sig.level = 0.05
power = 0.8

NOTE: n is number in each group


pwr.n.> # n = 11.92613
pwr.n.>
pwr.n.> ## Assume we have prior knowledge of the group means:
pwr.n.> groupmeans <- c(120, 130, 140, 150)

pwr.n.> power.anova.test(groups = length(groupmeans),
pwr.n.+ between.var=var(groupmeans),
pwr.n.+ within.var=500, power=.90) # n = 15.18834

Balanced one-way analysis of variance power calculation

groups = 4
n = 15.18834
between.var = 166.6667
within.var = 500
sig.level = 0.05
power = 0.9

NOTE: n is number in each group

>

2番目の例は、必要なサンプルの大きさを求めるもの。
詳しくは、
> help(power.anova.test)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで作図:エラーバー、信頼区間を図に加える

2009-06-27 | R
実験結果などを作図する際、エラーバーや信頼区間はarrows() で追加してもよいが、library(gregmisc) 利用する方法もある。

cf. RWiki
エラーバーや信頼区間をグラフに出力

以下,パッケージをインストールして、その使いかたを参照する。
> library(gregmisc)

> example(plotCI)

plotCI> # plot means and
plotCI> data(state)

plotCI> tmp <- split(state.area, state.region)

plotCI> means <- sapply(tmp, mean)

plotCI> stdev <- sqrt(sapply(tmp, var))

plotCI> n <- sapply(tmp,length)

plotCI> ciw <- qt(0.975, n) * stdev / sqrt(n)

plotCI> # plain
plotCI> plotCI(x=means, uiw=ciw)
次の図を見るためには<Return>キーを押して下さい:

plotCI> # prettier
plotCI> plotCI(x=means, uiw=ciw, col="black", barcol="blue", lwd=1)
次の図を見るためには<Return>キーを押して下さい:

plotCI> # give mean values
plotCI> plotCI(x=means, uiw=ciw, col="black", barcol="blue",
plotCI+ labels=round(means,-3), xaxt="n", xlim=c(0,5) )
次の図を見るためには<Return>キーを押して下さい:

plotCI> axis(side=1, at=1:4, labels=names(tmp), cex=0.7)

plotCI> # better yet, just use plotmeans ... #
plotCI> plotmeans( state.area ~ state.region )
次の図を見るためには<Return>キーを押して下さい:
>
>
>
上の ciw では信頼区間をもとめているが、もちろん標準誤差ならば、
se <- stdev / sqrt(n)
などとすればよい。
sapply() については、以下も参照。この場合、tapply()よりも使いやすい。

R-tips apply()ファミリー
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Rで作図:軸、ラベルの向きと大きさを変える

2009-05-03 | R
雑誌などでは図が縮小されるので、ラベルや軸を見やすくすることが編集側から求められる。

ーーー
軸の数値やラベルを拡大するには、plot()内で、
cex.axis, cex.labを1以上に指定する。
また、軸に関するパラーメータ、
las=1
で数値をすべて水平にできる。
デフォルトlas=0では軸に並行(y軸は横向き)。

グラフ内の線分を太くするには、lwd=1以上の指定。

軸そのものを太くするには?

cf. R help "axis"

plot(1:4, rnorm(4), axes = FALSE)
axis(1, 1:4, LETTERS[1:4])
axis(2)

ここで、axis(1,lwd=2 などとする。
plot(axes=FALSE, を忘れずに。


ーー
なお、余白や軸とラベルの間隔を調整するには、plot()前に、
par(mar=c(7,7,5,4),mgp = c(5,2,0))
などで、それらの間隔を指定する。
各パラメータの詳細は、以下参照。
cf. R-tips
mar
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/52.html

mgp
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/53.html

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

2要因ANOVA混合計画 by R

2009-01-14 | R
大学院統計で2要因ANOVA(一要因に対応があり、一要因に対応なし)の例をSPSSの反復測定を使わずに試してもらった。以下の例は、RでSPSSの例(下記)と比較できるようにしたもの。データも共通。

cf.
1つの被験者間要因と 1つの被験者内要因 (1変量)(星野祐司氏 ( 立命館大学))
http://www.psy.ritsumei.ac.jp/~hoshino/spss/anova11x.html


> library(foreign)
> x<-read.spss("anova11x.sav")
> x
$CONDTION
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[49] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[97] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3

$INTERVAL
[1] 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
[49] 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
[97] 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6

$SUBJECT
[1] 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6
[33] 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 11
[65] 11 11 12 12 12 12 12 12 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16
[97] 17 17 17 17 17 17 18 18 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21 22 22
[129] 22 22 22 22 23 23 23 23 23 23 24 24 24 24 24 24

$ACTIVITY
[1] 150 44 71 59 132 74 335 270 156 160 118 230 149 52 91 115 43 154 159 31 127 212 71 224
[25] 159 0 35 75 71 34 292 125 184 246 225 170 297 187 66 96 209 74 170 37 42 66 114 81
[49] 346 175 177 192 239 140 426 329 236 76 102 232 359 238 183 123 183 30 272 60 82 85 101 98
[73] 200 271 263 216 241 227 366 291 263 144 220 180 371 364 270 308 219 267 497 402 294 216 284 255
[97] 282 186 225 134 189 169 317 31 85 120 131 205 362 104 144 114 115 127 338 132 91 77 108 169
[121] 263 94 141 142 120 195 138 38 16 95 39 55 329 62 62 6 93 67 292 139 104 184 193 122

> attach(x)
> c<- factor(CONDTION)
> i<- factor(INTERVAL)
> s<- factor(SUBJECT)

> aov.ex=aov(ACTIVITY~c*i+Error(s:c+s:i:c),x)
> summary(aov.ex)

Error: s:c
Df Sum Sq Mean Sq F value Pr(>F)
c 2 285815 142908 7.8006 0.002928 **
Residuals 21 384722 18320
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Error: s:c:i
Df Sum Sq Mean Sq F value Pr(>F)
i 5 399737 79947 29.8524 <2.2e-16 *** c*i 10 80820 8082 3.0178 0.002164 **
Residuals 105 281199 2678
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

なお、SPSSで反復測定を用いた例は以下。
http://www.psy.ritsumei.ac.jp/~hoshino/spss/anova11.html
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする