質問紙調査として,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
};