ラベル R言語 の投稿を表示しています。 すべての投稿を表示
ラベル R言語 の投稿を表示しています。 すべての投稿を表示

2013年6月18日火曜日

knitr package と RStudio (3) 

 前回、knitrとRStudioを利用して、R言語による分析のコメント、コマンドシンタックス、出力結果、グラフの全てを一つのHTMLファイルとして保存する方法を紹介しました。
(まだ見ていない方はこちらをどうぞ。)

 前回の方法は便利だと思うのですが、全てがPDFファイルとして保存されていると、印刷やシェアがもっと簡単です。  そこで今回はPDFで保存する方法を紹介します。


作業手順は次の通りです。  

   1.PDFファイルへの変換に必要なソフトウエアをインストールする。 
   2.RStudioの設定を変更する。
   3.Sweaveによってテンプレートを作成する。
   4.テンプレートを利用して作ったファイルをPDFファイルへ変換する。
   5.グラフを載せたPDFファイルを作成する。

1.PDFファイルへの変換に必要なソフトウエアをインストールする。
 今回紹介する方法は、PDFファイルに変換する前に、TeXファイルを作成します。そこで、もし使っているPCにLaTeX環境がない場合、あらかじめLaTeXソフトウエアをインストールしておく必要があります。LaTeXを行う環境はいろいろあるのですが、今回は日本語のコメントを文字化けさせずに出力することを考えて、XeTeXというutf-8というエンコーディングをベースにしたTeXエンジンを利用します。XeTeXのオリジナルはMacのOS X用に開発されていて、Linux版やWindows版もあるのですが、今回は同じXeTexエンジンをベースにしたWindows用のソフトMikTeXをインストールします。
また、フォントが特定のOSに依存しないように、IPA明朝フォントをインストールしました。

XeTeXの概略を日本語で説明しているウエブページはこちらです。
MikTeXのダウンロードはこちらです。私はVersion2.9.4813 32bit版を使いました。
IPAフォントのダウンロードはこちらです。


2.RStudioの設定を変更する。
 RStudioのデフォルト設定ではpLaTeXというTeXエンジンを使用するようになっているのでこれを変更します。
メニューの中のToolsからOptionsを選択するとダイアログボックスが出てきます。
Sweaveというアイコンを押すと、Sweaveの設定をみることができます。この中の上から2番目の
Typeset LaTeX into PDF usingという項目をpLaTeX からXeLaTeXに変更します。



3.Sweaveのテンプレートを作成する。
 Markdownファイルを利用した時と同じように、Sweaveのテンプレートを作成します。
RStudioのファイル新規作成のボタンを押すと7種類のファイル形式が選べます。今回はこの中からR Sweaveという形式を選びます。Untitled1という名前のついたウインドウが作成されます。


上の
\documentclass{article}から\begin{document}の間が文書の仕様を書き込むヘッダー部分(Preambleと呼ばれているみたいです)で
\begin{document}から\end{document}の間が文書として表示される本文部分です。
今回は日本語テキストを追加するためにヘッダーと本文にそれぞれコマンドを追加します。


ヘッダー部分への追加
\usepackage{fontspec}
使用しているPC内のフォントを利用するためのパッケージをインポートするコマンドです。
\usepackage{Sweave}
RコードをLaTeXファイルへと翻訳するドライバーをインポートするコマンドです。
\setmonofont[Scale=MatchLowercase]{IPA明朝}
上記のfontspecというパッケージは、Rコード内まで影響が及ばないので、Rコード内に日本語文字があると文字化けしてしまいます。このコマンドはRコード内のフォントを指定して日本語の文字化けを防ぎます。

本文部分への追加
\fontspec{IPA明朝}
本文のフォントを指定するコマンドです。

















4.テンプレートを利用して作ったファイルをPDFファイルへ変換する。

本文にはコメントを書いておきます。
Rコードは<<>>=と@の間に書きます。コードの書き方はRGuiと同じです。



















5.グラフを載せたPDFファイルを作成する。

上の場合と同じように<<>>=と@の間にRコードを記述します。もしも変数名などで日本語文字を使用している場合は、family="Japan1"というオプションを追加すると文字化けせずに表示されます。






















できあがったPDFファイルは以下のようになります。
タイトルを追加したり、文字の色を変えたりするとさらに読みやすくなるかもしれません。








2013年6月5日水曜日

knitr package と RStudio (2)

 では、knitrパッケージとRStudioを利用して、解析のコメント、コマンド、結果、グラフまでを一つのHTMLファイルに表示する方法を見ていきましょう。
(実際にやってみようとしていて、knitrとRStduioをまだインストールしていない方はこちらを見てインストールしておいてください。)

 今回ご紹介する方法はWindows7Pro(64bit), RStudio (32bit) ver.0.97.551 , R ver. 2.5.3, knitr ver. 1.2を使用しています。

 作業の流れは以下の通りです。

   1.Markdownファイルのテンプレートを作成する。

   2.knitrを利用してHTMLを作成する。

1.Markdownファイルのテンプレートを作成する。
RStudioのウィンドウの左上にある新規作成のボタンを押すと全部で7種類のファイル形式が表示されます。今回はこの中の[R Markdown]を選びます。



 すると[Untitled1]という名前のRMarkdownファイルが作成されます。


 既にテンプレートとしてタイトル、コメント、コマンドシンタックスの例が書き込まれています。
ここで大事なポイントは、```{r} と``` で囲まれている部分です。この囲まれている部分(チャンクと呼ばれています)の部分をコマンドと認識するわけです。 二つ目のチャンクのように rの後ろにいろいろなオプションコマンドを足すことができるようです。


2.knitrを利用してHTMLを作成する。
 では、このテンプレートをそのまま利用して、HTMLファイルを作成します。
実はとても簡単で、画面の上の方に[knit HTML]という編み物のアイコンがついたボタンがありますので、これを押すだけです。


ボタンを押すと[Save File]のダイアログボックスが現れますので、保存したい場所に保存したい名前で保存します。保存すると.rmd,.md,.htmlという3つのファイルが保存されているはずです。
そして、プレビューとしてHTMLファイルが表示されます。























 タイトルとコメント部分に加えて、グレーの網掛けになっているコマンドシンタックスと囲みになっている出力部分が表示されます。そして、グラフもプロットコマンドの直後に表示されます。これを保存しておけば、コメント、コマンド、出力、グラフを簡単に見直すことができます。そしてHTMLファイルの良い点として日本語文字をすぐに表示できることがあります。

上のテンプレートを利用して作成した日本語の例をこのブログに張り付けると次のように表示されます。


タイトル

これは R Markdown 文書です。

exampledata = data.frame(実施回 = seq(1, 10), 結果 = seq(from = 100, to = 190, by = 10))
summary(exampledata)
##      実施回           結果    
##  Min.   : 1.00   Min.   :100  
##  1st Qu.: 3.25   1st Qu.:122  
##  Median : 5.50   Median :145  
##  Mean   : 5.50   Mean   :145  
##  3rd Qu.: 7.75   3rd Qu.:168  
##  Max.   :10.00   Max.   :190

グラフを挿入することもできます。

plot(exampledata)

plot of chunk unnamed-chunk-2

 次回は、このような出力をPDFファイルとして保存する方法を紹介します。

2013年6月4日火曜日

knitr package と RStudio (1)

 本日はR言語で分析するときに役立ちそうなツールのご紹介です。
(ちなみにこの話はロチェスター大学のJaeger先生に教わりました。Jaeger Lab.のブログにも
関連する投稿があるので興味のある方はこちらをクリックしてください。)

 あなたは、R言語を利用して分析する場合、出力結果をどのように保存していますか?容易に想像がつくのは、次の2パターンです。

パターンその1
 解析にRGui (R言語と同時にインストールされるインターフェイス)を使ってコンソール上に
コマンドを順番に入力していき、出力結果を表示させながら、分析を進めていく。
最後にコンソール上のすべてのコマンドと出力をコピー&ペーストで他のテキストエディタなどに
貼り付けてテキストファイルとして保存する。

パターンその2
 RScriptエディタを利用して、コマンドシンタックスのみをテキストファイルとして保存しておく。
出力結果が見たい場合は、その都度、コマンドシンタックスの必要個所を読み込んで分析を実施し、コンソール内の出力結果を読む。

 本ブログの管理人である「私」は主にパターンその2の方針を取っていました。しかし、どちらのやり方にも問題があります。

 パターンその1の方針をとると、保存したテキストにコマンドと出力が混在していて、必要な個所を見つけるのに時間がかかります。パターンその2の方針をとると、コマンドシンタックスのみが保存されているので、必要な個所は多少見つけやすくなります。しかし、出力を保存していないので、毎回RGuiを起動して出力を表示させる必要があります。そして、パターン1・2共通の問題としてグラフを別のファイルとして保存しなければならないということがあります。

 こういった問題を見直すと、分析結果を後からでも容易に見返すには、コメント、コマンドシンタックス、出力結果、グラフが一つのファイルに保存されて、かつそれぞれがすぐに区別できるように表示されていること」が大事だと気付きます。そして、これらを実現できるのがknitrというパッケージとRStudioというIDE(統合開発環境)です。

 knitrはR言語のパッケージの一つです。このパッケージが作られる前は、上記のような見やすい出力結果を表示するのにたくさんのパッケージを組み合わせて使う必要があったようなのですが、それらを一つのパッケージで実現することを目的に開発されたと、開発者のウエブページ(http://yihui.name/knitr/)で紹介されています。lme4と同じようにRGuiやCRANのウエブページからダウンロードしてインストールできます。

 RStudioはR言語の開発環境です。knitrパッケージに対応しており、あらかじめRにknitrをインストールしておくと、様々な形式(HTML, LaTeX, MarkDownなど)で出力するためのテンプレートをボタン一つで作ることができます。オープンソースなのでウエブページから無料でダウンロードできます。私はWindows版しか使っていませんが、Linux版やMac版もあるようです。


 では、どうやって使えばいいのか?次回は、HTMLで出力する方法を紹介します。

2012年12月17日月曜日

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(8)


既に出版されている論文を見てみると三つの対処法があるようです。

A:t値の絶対値が2より大きいときは十分に効果が大きいとみなす。
B:マルコフ連鎖モンテカルロシミュレーション(MCMCと呼ばれます)を実施して傾きの信頼区間を求めて有意性を調べる。
C:固定因子の傾きのあるモデルとないモデルによる推定を行い、二つのモデルを適合度で比較する。

 ではAの対処方法をとる場合ですが、今回の例ではt値が43.7と非常に大きいので、これを主張することができそうです。

Bの対処法ですが、languageRというパッケージに含まれるpvals.fnc()というコマンドを使うと
MCMCによる推定ができます。今回の例でMCMCを実施すると

MCMC(model.3)


$fixed
                  Estimate MCMCmean HPD95lower   HPD95upper  pMCMC Pr(>|t|)
(Intercept)       400.29   400.35              394.32           406.69     0.0001        0
CondDummy      48.15    48.14                45.14             51.25     0.0001        0

$random
    Groups        Name   Std.Dev. MCMCmedian MCMCmean HPD95lower HPD95upper
1  Subject (Intercept)    20.8991     8.4280               8.4860     6.8950    10.1637
2     Item (Intercept)       8.0714     5.9127               6.0536     3.8255     8.5196
3 Residual                     6.6118     9.3065               9.3425     7.9304    10.7475

上記のような出力結果が得られました。四行目がCondDummyの傾きの推定結果です。
95%信頼区間が45.14~51.25でした。pMCMCがいわゆるp値で0.0001となりました。

一点注意が必要なのは、languageRを利用したMCMCは一部のモデルではできないことです。
できないのは切片と傾きの両方を仮定し、かつそれらに共分散(相関)を仮定している場合です。
(上記のmodel.1とmodel.2がこれに該当します。)


Cの対処法をとる場合、CondDummyの固定因子を含まないモデルで推定してみます。

model.null = lmer(RT ~ (1 | Subject) + ( 1| Item))


次にこのモデルと先ほどのmodel.3を比較します。

anova(model.3, model.null)


Data: 
Models:
model.null: RT ~ (1 | Subject) + (1 | Item)
model.3: RT ~ CondDummy + (1 | Subject) + (1 | Item)
           Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)    
model.null  4 1390.7 1402.6 -691.35                             
model.3     5 1050.6 1065.5 -520.31 342.08      1  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 


出力結果を見ると、χ二乗値は342.08、自由度は1、p値は< 2.2e-16***と非常に小さくなることが示されています。

今回の例では、いずれの方法をとっても条件差が有意であると言えます。
解析は以上になります。


R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(7)


もう一度model.3の出力結果を見ながら、論文に載せるべき情報を整理します。


Linear mixed model fit by REML 
Formula: RT ~ CondDummy + (1 | Subject) + (1 | Item) 
  AIC  BIC logLik deviance REMLdev
 1043 1058 -516.5     1041    1033
Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept) 436.771  20.8991 
 Item     (Intercept)  65.147   8.0714 
 Residual              43.716   6.6118 
Number of obs: 144, groups: Subject, 12; Item, 12

Fixed effects:
            Estimate Std. Error t value
(Intercept)  400.292      6.514   61.45
CondDummy     48.153      1.102   43.70

Correlation of Fixed Effects:
          (Intr)
CondDummy -0.085

一行目は推定方法が述べられています。REMLは制限最尤法のことです。
二行目はモデルの回帰方程式です。RTという従属変数に対して、CondDummyという固定因子と切片の被験者ランダム因子、切片の項目ランダム因子がモデルに組み込まれていることを示しています。
十一行目からが固定因子の効果量を示しています。ここで重要なのはCondDummyの傾きで推定値が48.153、標準誤差が1.102、t値が43.70となっています。

さて、ここで一つ重要な問題が起こります。固定因子の効果量についてt値が報告されているのにp値が報告されていないんです。これでは有意がどうかを論じることができません。

(8)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(6)


ではさらにモデルを単純にできるかどうかを試してみます。以下のmodel.3では、model.2からさらに被験者のランダム因子のスロープを除いています。

model.3 = lmer(RT ~ CondDummy + ( 1 | Subject) + (1 + Item))

  出力は以下のようになります。
summary(model.3)

Linear mixed model fit by REML 
Formula: RT ~ CondDummy + (1 | Subject) + (1 | Item) 
  AIC  BIC logLik deviance REMLdev
 1043 1058 -516.5     1041    1033
Random effects:
 Groups   Name        Variance Std.Dev.
 Subject  (Intercept) 436.771  20.8991 
 Item     (Intercept)  65.147   8.0714 
 Residual              43.716   6.6118 
Number of obs: 144, groups: Subject, 12; Item, 12

Fixed effects:
            Estimate Std. Error t value
(Intercept)  400.292      6.514   61.45
CondDummy     48.153      1.102   43.70

Correlation of Fixed Effects:
          (Intr)
CondDummy -0.085

さらにmodel.2とmodel.3の適合度をanova()で検証してみます。
anova(model.2, model.3)

Data: 
Models:
model.3: RT ~ CondDummy + (1 | Subject) + (1 | Item)
model.2: RT ~ CondDummy + (1 + CondDummy | Subject) + (1 | Item)
        Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
model.3  5 1050.6 1065.5 -520.31                         
model.2  7 1054.4 1075.2 -520.22 0.1854      2     0.9115



出力結果を見るとChisqが0.1854、自由度(Df)が2 Pr(>Chisq)が0.9115です。つまりmodel.2はmodel.3よりも有意に適合度が高いとは言えないことが示されました。
この場合は、model.3を採用します。そしてmodel.3が一番単純なモデルなので、これを最終モデルとします。
(7)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(5)


2-2. 簡略モデルによる推定と最大モデルとの比較

 混合モデル解析では、ランダム因子の構造について複数の可能性があります。そこでデータに対する適合度を指標として「適合度が最大」かつ「もっとも単純な」構造のモデルを最終モデルとして選択します。まずは上記の最大モデルから項目のランダム因子のスロープを取り除いたモデルで推定します。

model.2 = lmer(RT ~ CondDummy + ( 1 + CondDummy | Subject) + (1 | Item))

このモデルの推定結果は以下のようになります。
summary(model.2)


Linear mixed model fit by REML 
Formula: RT ~ CondDummy + (1 + CondDummy | Subject) + (1 | Item) 
  AIC  BIC logLik deviance REMLdev
 1047 1067 -516.3     1040    1033
Random effects:
 Groups   Name        Variance Std.Dev. Corr  
 Subject  (Intercept) 429.6527 20.7281        
          CondDummy     4.0436  2.0109  0.149 
 Item     (Intercept)    66.2690  8.1406        
 Residual                   42.6313  6.5293        
Number of obs: 144, groups: Subject, 12; Item, 12

Fixed effects:
                   Estimate Std. Error t value
(Intercept)      400.292      6.474   61.83
CondDummy     48.153      1.233   39.04

Correlation of Fixed Effects:
                    (Intr)
CondDummy -0.009


 次にmodel.maxとmodel.2を比較します。モデルの単純さという点では、model.2がランダム因子のスロープを除いた分(パラメータ数では2減っています)だけ優っています。あとは適合度を比べてmodel.2とmodel.maxが同程度の適合度なのか、それともmodel.maxの方が適当度が有意に高いのかを検証します。検証にはanova()というコマンドを用います。

anova(model.max, model.2)

Models:
model.2: RT ~ CondDummy + (1 + CondDummy | Subject) + (1 | Item)
model.max: RT ~ CondDummy + (1 + CondDummy | Subject) + (1 + CondDummy | 
model.max:     Item)
              Df    AIC    BIC  logLik      Chisq Chi Df Pr(>Chisq)  
model.2      7 1054.4 1075.2 -520.22                           
model.max  9 1053.7 1080.4 -517.84  4.7645      2    0.09234 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

 出力結果の下から3行目を見るとChisqが4.7645、自由度(Df)が2 Pr(>Chisq)が0.09234とあります。Chisqは各モデルの対数尤度の差の2倍の値です。自由度はパラメータ数の差になっています。P値はこの二つの値から求められており、model.maxはmodel.2よりも有意に適合度が高いとは
言えないことが示されました。ということで暫定的にmodel.2を採用します。

(6)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(4)


2-1. 最大モデルによる推定

それではモデルを構築して推定してみましょう。まずは混合モデル解析のためのパッケージlme4を起動します。

library(lme4)

  次にrawdataの中の変数を変数名で直接呼び出すためのコマンドを実行します。
attach(rawdata)

  準備ができたので、モデルを構築します。固定因子はCondDummyでSubjectとItemをランダム因子とします。ランダム因子の構造は切片と被験者内(項目内)要因のスロープすべてを仮定します。推定した結果をmodel.maxという変数に書きこむことにします。

model.max = lmer(RT ~ CondDummy + ( 1 + CondDummy | Subject) + (1 + CondDummy | Item))

  上の式を少しずつ説明します。
 混合モデル推定を実行するためのコマンドはlmer()です。()の中にモデルを書きこみます。
 モデルは 従属変数 ~ 固定因子 + (ランダム因子)のように書きます。 ~の左側に従属変数、
~の右側に説明変数を書きます。()でくくったものがランダム因子、くくらないものが固定因子と
認識されます。
 ランダム因子を示す()の中は|でしきられています。|の左側に設定する項を書き、|の右側にランダム変数を書きます。|の左側の数字1は切片を示しています。つまり
(1+ CondDummy | Subject)は被験者というランダム因子の変動を切片とCondDummyという因子のスロープの二つに仮定することを意味します。

結果を見るには先ほど使ったsummary()コマンドなどを使います。
summary(model.max)


Linear mixed model fit by REML 
Formula: RT ~ CondDummy + (1 + CondDummy | Subject) + (1 + CondDummy |      Item) 
  AIC  BIC logLik deviance REMLdev
 1045 1072 -513.6     1036    1027
Random effects:
 Groups   Name        Variance Std.Dev. Corr  
 Subject  (Intercept)  431.5118 20.7729        
          CondDummy      5.7161  2.3908  0.115 
 Item     (Intercept)     60.1954  7.7586        
          CondDummy    17.7028  4.2075  0.076 
 Residual                   37.5728  6.1297        
Number of obs: 144, groups: Subject, 12; Item, 12

Fixed effects:
                    Estimate Std. Error t value
(Intercept)      400.292      6.442   62.14
CondDummy     48.153      1.731   27.82

Correlation of Fixed Effects:
                  (Intr)
CondDummy 0.015 

出力結果の読みとりやどの情報を論文に載せるべきなのかは後述します。
(5)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(3)


1-2. ダミーコーディングを使って条件を符号化

データを見ていただいてわかるように、今のデータでは条件(Condition)がaまたはbとなっています。次はこれを数値へと符合化します。符合化の方法は複数ありますが、今回はダミーコーディングを使ってa条件を0、b条件を1とします。この数値を書き込むための別の変数(CondDuumy)を用意します。

まずは0をデフォルトの値として変数を設定します。
rawdata$CondDummy = 0

次にConditionの変数がbのケースの場合にCondDummyの値が1になるようにします。
rawdata[rawdata$Condition == "b","CondDummy"] = 1

確認としてもう一度、rawdataの要約を見てみましょう
summary(rawdata)



 Subject           Item             Condition       RT                  listnumber  
 Min.   : 1.00      Min.   : 1.00     a:72             Min.   :355.2       Min.   :1.00  
 1st Qu.: 3.75     1st Qu.: 3.75   b:72             1st Qu.:400.6      1st Qu.:1.75  
 Median : 6.50    Median : 6.50                     Median :423.1     Median :2.50  
 Mean   : 6.50    Mean   : 6.50                      Mean   :424.4     Mean   :2.50  
 3rd Qu.: 9.25     3rd Qu.: 9.25                     3rd Qu.:445.6      3rd Qu.:3.25  
 Max.   :12.00     Max.   :12.00                      Max.   :495.0      Max.   :4.00  

CondDummy  
 Min.   :0.0  
 1st Qu.:0.0  
 Median :0.5  
 Mean   :0.5  
 3rd Qu.:1.0  
 Max.   :1.0 


CondDummyという変数が追加できました。
(4)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(2)


1-1. データの読み込み

では、(1)のデータをRの中に読みこんでみましょう。(Rを起動してください)
一番簡単なのは、クリップボードを利用する方法です。
上のデータの部分(変数名ごと)ドラッグ&コピーをします。
コピーした状態で

rawdata = read.table("clipboard", header = TRUE)

とコマンドを書きこみます。
Mac版を使っている場合は次のように書きます。

rawdata = read.table(pipe("pdpaste"), header = TRUE)

これでrawdataというオブジェクトの中にすべての変数が名前付きで読み込まれました。

データが正常に読み込まれたことを確認してみましょう。
データの要約を見るにはsummaryというコマンドを使用します。

summary(rawdata)

結果は次のようになります。
  Subject    Item       Condition     RT       listnumber
Min. : 1.00    Min. : 1.00    a:72    Min. :355.2    Min. :1.00
1st Qu.: 3.75  1st Qu.: 3.75   b:72     1st Qu.:400.6  1st Qu.:1.75
Median : 6.50  Median : 6.50         Median :423.1  Median :2.50
 Mean : 6.50   Mean : 6.50          Mean :424.4   Mean :2.50
 3rd Qu.: 9.25  3rd Qu.: 9.25         3rd Qu.:445.6  3rd Qu.:3.25
 Max. :12.00   Max. :12.00          Max. :495.0    Max. :4.00


こういったコマンドを利用してデータがきちんと読み込まれていることを確認していくことは意外に重要です。

(3)へ続く

R言語を用いた混合モデル解析の紹介その1:1要因デザインの場合(1)


本日はR言語で仮想データを実際に解析しながら、混合モデル解析の手続きを紹介します。
第一弾の今回は、もっとも単純な一要因のデザインを考えます。

仮想データは、次のような実験デザインを想定しています。

調べたい要因(Condition) 条件a vs. 条件b
従属変数 反応時間(RT)
被験者(Subject) 12名
刺激セット数(Item) 12セット
要因配置(listnumber) ラテン方格デザイン(4リストを作成)

データは以下の通りです。また以下では解説を黒字、R内でのコマンドを赤字、出力結果を青字で示します。

SubjectItemConditionRTlistnumber
11a363.51
12a362.751
13a3601
14a355.251
15a357.51
16a358.751
17b412.251
18b420.51
19b421.751
110b4231
111b434.751
112b4241
21b410.52
22b400.252
23b4072
24b408.252
25b420.52
26b429.252
27a386.252
28a378.52
29a382.752
210a3892
211a376.252
212a391.52
31a374.53
32b412.253
33a3643
34b435.253
35a366.53
36b423.253
37a376.253
38b448.53
39a394.753
310b4413
311a392.253
312b4443
41b422.54
42a367.754
43b4194
44a385.254
45b446.54
46a378.754
47b445.254
48a383.54
49b443.754
410a4004
411b444.754
412a392.54
51a382.51
52a386.751
53a3811
54a379.251
55a391.51
56a380.751
57b436.251
58b443.51
59b435.751
510b4351
511b440.751
512b4451
61b443.52
62b428.252
63b4342
64b442.252
65b444.52
66b444.252
67a403.252
68a397.52
69a411.752
610a4052
611a413.252
612a410.52
71a396.53
72b449.253
73a4053
74b450.253
75a391.53
76b443.253
77a412.253
78b455.53
79a409.753
710b4703
711a414.253
712b4623
81b454.54
82a400.754
83b4364
84a398.254
85b448.54
86a409.754
87b448.254
88a420.54
89b466.754
810a4154
811b475.754
812a422.54
91a396.51
92a409.751
93a4011
94a415.251
95a401.51
96a414.751
97b455.251
98b470.51
99b458.751
910b4651
911b463.751
912b4811
101b460.52
102b464.252
103b4582
104b465.252
105b479.52
106b461.252
107a414.252
108a432.52
109a434.752
1010a4252
1011a428.252
1012a425.52
111a418.53
112b465.253
113a4213
114b469.253
115a416.53
116b478.253
117a436.253
118b474.53
119a436.753
1110b4773
1111a436.253
1112b4953
121b479.54
122a424.754
123b4594
124a421.254
125b481.54
126a417.754
127b482.254
128a435.54
129b480.754
1210a4394
1211b491.754
1212a441.54



記述が長くなりそうなので、いくつかに分割して掲載することにします。
(2)へ続く