目的

質問項目に対していずれかの選択肢を選んでもらうという多肢選択式の質問紙を作成します。jspsychでは,multi-choiceによって作成が可能です。

質問項目の作成

選択肢の作成

まず,選択肢を作成します。ワーディングはいくつかのバリエーションがありますが,典型的には「あてはらない」〜「よくあてはまる」といった5件法が用いられます(選択肢を増やしたバージョンもあります)。ここでは気分状態を問う質問項目を作成してみます。

//選択肢を作成
const valenceResponseOptions = ['非常にネガティブ', 'ネガティブ', 'ややネガティブ', 'ニュートラル', 'ややポジティブ', 'ポジティブ', '非常にポジティブ'];

選択肢が数字だけの場合は,forループと使うと短いコードで済みます。

const responseOptions = [];
for (i = 0; i < 5; i++)
{
	responseOptions[i] = String(i+1);
};

出力は以下のようになります。

//出力
responseOptions = [
	"1",
  "2",
  "3",
  "4",
  "5"
]

質問項目の作成

先ほど作成した選択肢と組み合わせて質問項目を作成します。typeにはsurvey-multi-choiceを指定します。プラグインとしてjspsych-survey-multi-choice.jsを読み込んでおく必要があります。questions内のpromptに質問項目を入力し,optionsに選択肢の変数を指定してください。この試行をtimelineに加えれば質問項目の完成です。  なお,文字ではなく,画像を選択肢にしたい場合は,typeにimage-button-responseを使い,choicesに画像を指定してください。

const moodStatePage = {
    type: 'survey-multi-choice',
    questions: [
				{
          prompt: '現在の感情価を回答してください',
          options: valenceResponseOptions
        }
    ]
};
//実験を構成
const timeline = [];
timeline.push(moodStatePage);

このままでは,教示がないので,preamble:に教示文を追加します。また,survey-likertと同様に,「次へ」のボタンの日本語化と質問項目の必須化も行います。

const moodStatePage = {
    type: 'survey-multi-choice',
    preamble: '<p>あなたの現在の状態について教えてください。</p>' +
        '<p>以下の選択肢のうち,最もあなたの状態を表すものを選んでください</p>',
    button_label: '次へ',
    questions: [
				{
          prompt: '現在の感情価を回答してください',
          options: valenceResponseOptions,
          required: true
        }
    ]
};
//実験を構成
const timeline = [];
timeline.push(moodStatePage);

このコードとjspsych-survey-multi-choice.jsを読み込むコードを基本構成に入れれば,完成です。

jsPsychの導入(+ テンプレート)

質問項目が多数ある場合