質問項目の実施順による影響(順序効果)を減らした場合は,質問項目の実施順をランダムにする方法が有効です。質問項目順をランダムにする方法は2つ考えられます(他にもあるかもしれません)。それぞれの方法を紹介しますが,どちらの方法でも1ページに質問項目を1つ表示することになります。この手法は質問項目の種類を問わず利用できます。
sequenceには,sequnceに含まれる要素をランダム順にするという設定があります(Shuffle nested components)。これを利用した方法です。ランダム順にしたい質問項目のPageを複数作成し,1つのsequenceの中に入れます。そして,「Shuffle nested components」にチェックを入れれば,質問項目順をランダムにできます。以下の画像のようになります(例では犬についての質問と猫のついての質問がランダム順で実施されます)。
Loopを利用する場合は,Loopを使って質問項目をランダムに割り当てることで質問項目順をランダムにできます。手順は以下です。
Page(Questionnaire)のQuestionに${this.parameters.question}
と入力
詳細設定のNameに${this.parameters.name}
と入力
選択肢などは通常と同じように入力
以下のようになります
次に,サイドバーの「+」からLoopを選択します
作成したLoopのパラメータに以下の画像のように,questionというパラメータを設定し,入力し,項目に質問項目をいれる。同様にnameというパラメータを設定し,項目に質問項目名を入れる。
Loopの中にPageを入れれば,完成
Pageで質問項目を作成する場合はcsvなどからインポートができないので,自分で入力する必要がありますが,Loopのパラメータは csvからインポートできるので,質問項目をExcelなどにまとめてあれば楽に質問項目を用意できます。なお,質問項目順を固定したい場合は,LoopのSample設定で「In sequence」を選びましょう。
尺度単位でSequenceを作成し,さらに尺度同士を上位のSequenceにいれて,上位のSequenceの「shuffle nested components」にチェックを入れる。もしくは,尺度のLoopでも同様です。以下のような構造です。
なお,尺度内の質問項目順をランダムにしない場合は,上記のような多階層構造にせず,Sequenceを1つ作り,それに尺度を入れてランダム化でよいでしょう。また,基本的には実験でも同様の手法でランダム順にできるはずです。