目的

質問紙調査として,Likert尺度に答えてもらう質問を作成します。jspsychでは,survey-likertプラグインを用いて実装できます。同じようなものに,multi-choiceプラグインもあります。この2つの違いとして,survey-likertは選択肢が水平方向に同一軸上に並び,選択肢間が(線で)繋がっていますが,multi-choiceは選択肢間は線で繋がっておらず,選択肢の配置は水平方向でも垂直方向でも可能です。同一軸上の高低を測定したいなどでLikert尺度を使う必要がある場合はsurvey-likert,特にこだわらない場合(一般的な質問紙)は,multi-choiceを使うとよいかと思います。

質問項目の作成

選択肢の作成

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

//選択肢を作成
const responseValues = [
	'あてはまらない',
	'あまりあてはまらない',
	'どちらとも言えない',
	'ややあてはまる',
	'あてはまる'
]

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

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

こっちのコードでもOK。

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

上記コードの出力結果は以下のようになります。

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

質問項目の作成

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

const askCatLiking = {
    type: 'survey-likert',
    questions: [{
        prompt: 'わたしは猫が好きだ',
        labels: responseValues
    }]
};

基本構成のhtmlにこれまでのコードを記述し,最後にtimeline.push(askCatLiking)を行うと以下のようなhtmlになります。一度,保存して開いてみてください。

試してみていただくとわかりますが,デフォルト設定では,次へのボタンが英語(continue)になっています。そこでこのラベルを日本語に変更します。加えて,選択肢の幅も調整してみます。ラベルの変更はbutton_label,選択肢の幅はscale_widthで設定します(単位はpxです)。

const askCatLiking = {
    type: 'survey-likert',
    questions: [{
        prompt: 'わたしは猫が好きだ',
        labels: responseValues
    }],
    button_label: '次へ',
    scale_width: 600
};