リスト実験の項目をランダマイズする

作成・改訂

June 17, 2022

以下のようなリスト実験を行うとする。

統制群

Q1. 以下のうち、経験したことのあるものはいくつありますか?

  1. 1個  2. 2個  3. 3個  4. 4個

実験群

Q1. 以下のうち、経験したことのあるものはいくつありますか?

  1. 1個  2. 2個  3. 3個  4. 4個  5. 5個

Qualtricsなら質問の順番や選択肢の順番をランダマイズする機能を基本的に搭載しているが、質問文の中にある項目するランダマイズする機能は持っていない。ここでは質問文内の内容をランダマイズする方法を紹介する。

1. PHPスクリプトのダウンロード&修正

  1. PHPスクリプトをダウンロードする。Download
  2. PHPファイルの中身をみると3行目に項目が書いてある。 $listarray = array("1番目の項目", "2番目の項目", "3番目の項目", "4番目の項目", "5番目の項目");の部分を$listarray = array("タバコ", "お酒", "コーヒー", "紅茶");に修正する。
  3. 適当な名前を付けて保存する。(たとえばList1.php)
  4. 先に修正した部分にマリファナを付けて他の名前を付けて保存する(List2.php)。たとえば、$listarray = array("タバコ", "お酒", "コーヒー", "紅茶", "マリファナ");
  5. PHPを走らせるサーバーにアップロードする。

2. QualtricsのWeb Service登録

  1. Qualtircsの質問紙作成画面でSurvey Flowをクリック
  2. Add a New Element hereをクリック
  3. Web Serviceを選択し、URLにphpファイルのアドレスを入力
    • たとえば、http://www.jaysong.net/cjoint/List_Rand.php
  4. Test URLをクリック
  5. Selectの隣のAllを選択し、Add Embedded Dataをクリック
  6. Web Serviceのブロックをリスト実験の質問ブロックの上へ移動 (必ず!!!)

3. 質問文の作成

  1. 普通のSingle Answer形式の質問文を作成するが、質問文を以下のように書く。たとえば、

Q1. 以下の項目の中で該当することはいくつありますか。

${e://Field/List-1}

${e://Field/List-2}

${e://Field/List-3}

  1. 同じ手順でもう一つのPHPファイルをWeb Serviceで読み込んで、質問文を作る。今回は項目が一個増えたから1番目より1行長くなる。
  2. Survey Flowから見て以下の中の一つのように設定する。
    • Web Service(統制群) → 質問文(統制群) → Web Service(実験群) → 質問文(実験群)になるようにする。
    • あるいはWeb Serviceを埋め込む時にKeyを設定すればWS→WS→統制質問→実験質問の形でも可能である。
  3. 確実(かつ、面倒くさい)な方法としてはスクリプト12行目のList-の部分を変えながらアップロードする。
  4. 出現する質問をランダマイズする。
  5. 完了